// 출력 함수
        function print(msg) {
            document.write(msg + "<br />");
        }
 
        // 개체 생성 : empty object
        var o1 = {};
        o1.x = 10; // 새로운 속성인 x가 추가
        o1.y = "안녕"; // y 속성 추가

 
        // 개체 생성 2 : Object()
        var o2 = new Object();
        o2.z = "박용준";


        // 개체 생성 3 : object literal
        var na = { name: "박용준", age: 21 };
        print(na.name + ", " + na.age);
 
        // 중첩된 속성 : nested object
        var my = { name: "박용준", address: { num: 1, street: "원창로"} };


        // toString() 함수 : 모든 객체(Object)는 toString() 함수를 갖는다. -> 객체를 문자열로 변환
        print([10, 20, 30].toString());
        print(true.toString()); // true -> "true" : 성질 자체가 문자열로 바뀜
        print(print.toString()); // 함수 자체를 문자열로 출력
        print(/\d/.toString()); // 정규식 자체를 문자열로 출력
 
        // toString() 함수 재정의(override)
        print(na); // [object Object]
        na.toString = function () {
            return "이름 : " + this.name + ", 나이 : " + this.age;
        };
 
        print(na); // "이름 : 박용준, 나이 : 21"
        print(na.toString());

'javascript' 카테고리의 다른 글

클래스 생성  (0) 2011.11.25
Call by value, Call by reference  (0) 2011.11.25
null과 undefined  (0) 2011.11.25
배열생성 및 인덱스  (0) 2011.11.25
=== 연산자와 !== 연산자  (0) 2011.11.25
        // 출력 전담 함수
        function print(msg) {
            document.write(msg + "<br />");
        }
        //[1] null : 아무것도 없다는 것을 의미
        var nullValue = null;
        if (!nullValue) {
            print("null은 조건절에서 false로 취급");
        }
        //[2] 값을 할당
        var hasValue = "아무거나";
        if (hasValue) {
            print("값이 들어있는 변수는 true로 취급");
        }
        hasValue = 0;
        if (!hasValue) {
            print("변수에 할당된 값이 0이면 false로 취급");
        }
        //[3] undefined : 변수의 값이 아무것도 없음
        var notValue;
        if (!notValue) {
            print("할당되지 않은 변수는 false로 취급 : " + notValue);
        }
        var obj = { name: "홍길동" };
        print(obj.name + ", " + obj.age); 

'javascript' 카테고리의 다른 글

클래스 생성  (0) 2011.11.25
Call by value, Call by reference  (0) 2011.11.25
객체 생성  (0) 2011.11.25
배열생성 및 인덱스  (0) 2011.11.25
=== 연산자와 !== 연산자  (0) 2011.11.25
        //[1] 배열의 인덱스는 문자열이다.
        var arr1 = [10, 20, 30];
        document.write(arr1[2] + "<br />"); // 30
        document.write(arr1["2"] + "<br />"); // 30
        for (var i in arr1) {
            document.write(i + ", " + typeof i + "<br />");
        }
        
        //[0] 빈 배열 생성
        var arr2 = new Array();
        var arr3 = [];

        //[2] 배열의 인덱스는 마이너스 인덱스 사용 가능
        for (var i = -10; i < 10; i++) {
            arr2[i] = i; // -10~9 : length => 10
        }
        document.write(arr2.length + "<br />"); // 0~9 : 10
        for (var i = -10; i < arr2.length; i++) {
            document.write(arr2[i] + "<br />");
        }
        //[3] 띄어진 인덱스 사용 가능
        arr3[3] = "333";
        arr3[5] = "555";
        arr3[7] = "777";
        document.write("<hr />" + arr3.length + "<br />"); // 8

'javascript' 카테고리의 다른 글

클래스 생성  (0) 2011.11.25
Call by value, Call by reference  (0) 2011.11.25
객체 생성  (0) 2011.11.25
null과 undefined  (0) 2011.11.25
=== 연산자와 !== 연산자  (0) 2011.11.25

+ Recent posts