25-JavaScript-オブジェクト指向-コンストラクター-this指向を変更-オブジェクトを巡回


-コンストラクタ-オブジェクトの作成-thisの方向を変更する-オブジェクト全体の属性と方法 for in
1.コンストラクタ定義類
 1)一般的な方式
    function(){        属性;        メソッド    }
 2)コンストラクタ1
    function(パラメータ1,パラメータ2){        属性1=パラメータ1;        属性2=パラメータ2;    } 
 3)コンストラクタ二 
    function(パラメータ1,パラメータ2){        属性=パラメータ1;        方法=パラメータ2;    }    
2.簡単にオブジェクトを作成する
 1)文法
    {属性名:値、方法名:値}
 2)例
    var stu = { name:"zhangsan", age: 22 };

    //     
    console.info( stu.name );
    console.info( stu["age"] );

    //     
    stu.show = function(){
        return this.name + "   " + this.age;
    };
    console.info( stu.show() );

    //     
    console.info( stu.constructor );
    /*
        zhangsan
        22
        zhangsan   22
        Object()
    */ 
3.thisの指向を変更する/どのオブジェクトからこの方法を呼び出すかを指定する
 1)文法
    functionName.call(thisobj[,args]);
 2)例
    var dog = { nickname:"   " };    

    function whoAmI() {
        return this.nickname;
    }

    console.info( window.whoAmI() ); // undefined

    console.info( whoAmI.call( dog ) ); //    
4.オブジェクトを巡回する属性と方法
 1)文法
    for(key in obj){       //obj[key]    }
 2)例
    var stu = {
        name : "  ",
        age : 23,
        gender : " "
    };

    for( key in stu) {
        console.info( key + "  " + stu[key] );
    }
    /*
        name    
        age  23
        gender   
    */
 3)拡張 
    - 現在のブラウザのwindowサポートの属性と方法を表示します.    
    for ( key in window ) {
        document.write( key + "=" + window[key] + "<br/>" );
    }