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