首頁 >web前端 >js教程 >this對象的指向意義

this對象的指向意義

一个新手
一个新手原創
2017-09-25 10:40:451441瀏覽

1.函數中:

function foo(){
   return this;
}

函數呼叫者是誰,就指向誰;直接呼叫指向window;

2.事件中:html事件中,指向window;dom0事件中,指向事件的觸發者(綁定元素的節點);dom2事件中,非IE中指向綁定的元素節點;IE中直接指向window;

3.閉包中:this指向window;

#4.物件中:this指向目前物件;如果有多層級物件包裹,指涉上一層物件;
     ( 1).

var foo = {
         a:18,
        num:{
         a:10,
           num:function(){
          console.log(this.a);//10
                   }
               }
       }
  foo.num.num();

(2).

var foo = {
        a:18,
         num:{
         num:function(){
         console.log(this.a);//undefined
                   }
               }
       }
  foo.num.num();

5. call函數與apply函數能改變this的指向,bind函數也能改變函數指向;

6.建構函數模組:

##總結:建構函式中,傳回值是基本資料型別,那麼this指向建構子的實例;傳回值是物件則this指向該物件;

 function Foo(){           
     this.user = 'my';           
     return {};       
     }       
     var na = new Foo();       
     console.log(na.user);//返回值undefined;
 function Foo(){           
     this.user = 'my';           
     return 1;      
      }       
      var na = new Foo();       
      console.log(na.user);//返回值my

以上是this對象的指向意義的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn