一道題深度剖析this指向

< script >
    var num = 1 ;
    var myObject = {
    num : 2 ,
    add : function (){
        this . num = 3 ;
( function (){  // 這裏的 this 是 window,由於自調用函數的調用者是windo,使用箭頭函數則指向 myObject
        console . log ( this . num );  // window.num
        this . num = 4 ; // window.num=4
        })();
        console . log ( this . num );  // myObject.num
    },
    sub : function (){
        console . log ( this . num );
    }
    };
    myObject . add (); // 1 3
    console . log ( myObject . num );  // 3
    console . log ( num ); // 4
    var sub = myObject . sub ; // sub 被解構出來,this 指向 window,可以使用 call/apply/bind 指向 myObject
    sub ();  // 4
    < / script >
相關文章
相關標籤/搜索