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

this對象的指向意義

一个新手
發布: 2017-09-25 10:40:45
原創
1444 人瀏覽過

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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板