3.2 내장 객체
3.2.1 내장 객체 란 ?
- 자바스크립트에 미리 정의되어 내장된 객체
- 자바스크립트 프로그램의 대부분은 내장된 객체만 사용
3.2.2 Date 객체
- 날짜와 시간을 다루는데 사용되는 객체
- 현재 브라우저를 실행하고 있는 컴퓨터의 날짜와 시간을 알아내거나, 특정 날짜 정보를 저장
- 객체를 만드는 방법
today = new Date() today = new Date("month day, year hours:minutes:seconds")
today = new Date(year, month, day)
today = new Date(year, month, day, hours, minutes, seconds)
- 날짜/시간 정보를 알아내는데 사용되는 메소드
getYear() 1970이후의 연도 getMonth() 월( 0=1월, 1=2월, ....) getDate() 일 getDay() 요일( 0=월, 1=화, ....) getHours() 시 getMinutes() 분 getSeconds() 초 getTime() 1970년 1월 1일 이후 시간을 1/1000 초 단위로 표시 - 예제 : xxxxJavaScript022.html
- 날짜/시간 정보를 설정하는데 사용되는 메소드
setYear() 1970이후의 연도 setMonth() 월( 0=1월, 1=2월, ....) setDate() 일 setDay() 요일( 0=월, 1=화, ....) setHour() 시 setMinutes() 분 setSeconds() 초 setTime() 1970년 1월 1일 이후 시간을 1/1000 초 단위로 표시
- 날짜/시간 정보의 포멧을 변경하는데 사용되는 메소드
parse(날짜문자열) 문자열을 시간으로 변경 UTC(년,월,일,[,시][,분][,초]) GMT 기준으로 변경 toGMTString() GMT 날짜를 복귀 toLocalString() 날짜를 문자열로 변환
3.2.3 String 객체
- 일반적으로 자바스크립트에서 사용하는 문자열
- 객체 만드는 방법
test = "테스트 문자열" - 특성과 메소드 사용 방법
num = test.length test.bold()
- String 객체의 특성
- length : 문자의 개수를 저장, 변경 불가, 문자를 더하거나 삭제함으로써 변경 가능
- 예제 : xxxxJavaScript023.html - 문자열 속성을 지정하는 메소드
big() 큰 글자, small() 작은 글자 blink() 깜박임 bold() 볼드체 fixed() 타자체 italics() 이탤릭체 strike() 가운데 줄 sub() 아래첨자 sup() 위첨자 fontcolor("색") 글자색 fontsize(크기) 글자크기 - 예제 :xxxxJavaScript024.html
- 문자열 속성을 하나 이상 지정하는 방법 : 메소드를 중첩하여 사용 -
"문자열".bold().blink()
- 하이퍼텍스트 링크를 지정하는 메소드
anchor("표시") 표식 지정 link("위치") 하이퍼 텍스트 연결 - 위치 : URL/문서의 경로/#표시
- 예제 : xxxxJavaScript025.html
- 문자열을 처리하는 메소드 : 문자열 중 특정 문자를 검색하거나 추출
charAt(index) index 번째 문자 검색 indexOf(string) 지정된 string의 위치 검색(왼쪽기준) lastIndexOf(string) 지정된 string의 위치 검색(오른쪽기준) substring(index1, index2) index1에서 index2 개의 문자열 추출 toLowerCase() 소문자로 변경 toUpperCase() 대문자로 변경 concat(string) string을 문자열에 첨부 slice(start_index, end_index) start_index에서 end_index 까지의 문자열 추출 split([분리자],[개수]) 분리자 기준으로 문자열 분리 substr(start_index,length) start_index에서부터 length 개의 문자 추출 charCodeAt([index]) index에 해당하는 ISO Latin-1 값 획득 fromCharCode(num1,...,numn) ISO Latin-1 값에 해당 하는 문자 획득
- 예 :
"xxxxjavascript".charAt(0) => "j" "xxxxjavascript".indexOf("script") => 4
"xxxxjavascript".lastIndexOf("a") => 3
"xxxxjavascript".substring(0,2) => "ja"
"xxxxJavascript".toLowerCase() => "xxxxjavascript"
"xxxxJavaScript".toUpperCase() => "xxxxJAVASCRIPT"
"Java".concat("Script") => "xxxxJavaScript"
"xxxxjavascript".splice(2,-2) => "vascri"
"xxxxjavascript".substr(4,2) => "sc"
"Java Script".split(" ") => "Java", " ", "Script" (LANGUAGE=xxxxJavascript)
=> "Java", "Script" (LANGUAGE=xxxxJavascript1.2)
"xxxxJavaScript".charCodeAt(0) => 74
String.fromCharCode("xxxxJavaScript".charCodeAt(0), "xxxxJavaScript".charCodeAt(1)) => "Ja"
- 예제 : xxxxJavaScript026.html
3.2.4 Math 객체
- 삼각함수, 지수함수, 로그함수 등 특수 함수와, 파이, 오일러 상수와 같은 특수 상수를 제공하는 객체
- 동적 객체가 아니라 정적 객체(Static object) 이므로 new를 사용할 필요 없음
- 사용 예 :
Math.sin(0.5) Math.PI
- Math 객체의 특성 : 수정 불가
E 오일러 상수, 자연로그의 밑 PI 원주율 LN10 10의 자연로그 LN2 2의 자연로그 SQRT1_2 1/2의 제곱근 SQRT2 2의 제곱근
- Math 객체의 메소드
sin(x) sine 함수 cos(x) cosine 함수 tan(x) tangent 함수 asin(x) arc sine 함수 acos(x) arc cosine 함수 atan(x) arc tangent 함수 abs(x) 절대값 exp(x) 지수 함수 log(x) 로그 함수 pow(x,y) 지수 함수 sqrt(x) 제곱근 함수 random() 난수 함수 round(x) 반올림 함수 floor(x) 버림 함수 ceil(x) 올림함수 max(x,y) 최대값 함수 min(x,y) 최소값 함수
- with 구문
<!-- % wrong tag % -->test1 = Math.sin(Math.PI/2); <!-- % wrong tag % --><!-- % wrong tag % -->test2 = Math.log(Math.E); <!-- % wrong tag % --><!-- % wrong tag % -->≡ <!-- % wrong tag % --><!-- % wrong tag % -->with (Math) { test1 = sin(PI/2); tset2 = log(E); } <!-- % wrong tag % -->
3.2.5 Array 객체 : Netscape 3.0부터 가능
- 매개변수로 정해진 크기로 배열을 만드는 방법
objects = new Array(3); object[0] = "test1";
object[1] = "test2";
object[2] = "test3";
- 크기 지정 없이 배열을 만드는 방법
objects = new Array() objects[9] = "test1" => 자동으로 배열의 크기가 10이 됨
- 선언과 동시에 값을 할당 하는 방법
objects = new Array("test1", "test2", "test3")
- 배열 객체를 만드는 새로운 방법 : Netscape 4.0
objects = ["tset1", "test2", "test3"]
- Array 객체의 특성
length 배열의 크기 prototype 객체에 새로운 특성을 만드는데 사용 - Array.prototype.comment = Null => comment라는 새로운 특성 생성
- array 객체의 메소드
join([str]) 배열을 하나의 문자열로 결합 sort(function) 배열의 값을 정렬 reverse() 배열의 순서를 역으로 변경 concat(array) 두 개의 배열을 하나의 배열로 결합 slice(start,end) 배열의 일부분을 추출
3.2.6 Function 객체
- 간단한 함수를 정의하기 위한 객체
- 사용법
func = new Function([매개변수1,매개변수2,...], 함수의 몸체); - 예
sum = new Function("x", "y", "return x+y"); document.write(sum(10,2)); // => 12
- Function 객체의 특성
arguments 매개 변수 정보를 배열로 제공 prototype 객체에 새로운 특성을 만드는데 사용 arity 매개변수의 개수 (xxxxJavascript1.2)
3.2.7 Arguments 객체
- 함수가 호출될 때 함수 내에서 매개 변수에 대한 정보를 알기 위해 사용
- Arguments 객체의 특성
매개변수정보 호출시 매개 변수 정보 caller 이 함수를 호출하는 함수의 매개변수 정보 calee 이 함수가 호출하는 함수의 매개변수 정보
3.2.8 Screen 객체
- 현재 웹 페이지를 보고 있는 컴퓨터의 화면 해상도나 색상에 관한 정보를 알고자 할 때 사용
- 사용자 화면의 크기에 따라 정보 배열을 변경하거나 , 지원하는 색깔에 따라 표시 이미지 변경
- screen 객체의 특성
availHeight 윈도우에서 인터페이스를 제외한 화면의 높이 availWidth 윈도우에서 인터페이스를 제외한 화면의 넓이 height 화면의 높이 width 화면의 넓이 pixelDepth 한 픽셀 당 비트 수 colorDepth 사용 가능한 색상 수
3.2.9 Number 객체
- 문자로 된 숫자 단어를 숫자로 변환하는 객체
- 사용법
Number("1") => 1 Number("5") => 5
Number("Five") => NaN
출처 : http://blog.naver.com/theblueweb?Redirect=Log&logNo=110004409460
// 예제
<SCRIPT LANGUAGE="xxJavaScript">
<!--
com=Math.floor(Math.random()*3);
if(com==0)
com="가위";
else if(com==1)
com="바위";
else
com="보";
me=prompt("가위 바위 보중 하나 내세요","가위 바위 보중 하나 내세요");
if(com==me)
document.write("컴퓨터 : " + com + "<br>나 : " + me + "<br>비겼습니다");
else if((com=="가위"&&me=="바위")||(com=="보"&&me=="가위")||(com=="바위"&&me=="보"))
document.write("컴퓨터 : " + com + "<br>나 : " + me + "<br>당신이 이겼습니다.");
else
document.write("컴퓨터 : " + com + "<br>나 : " + me + "<br>당신이 졌습니다.");
//-->
</SCRIPT>