iT邦幫忙

1

this 的 解釋

gameking93 7 月前3502 瀏覽

在javascript中

"this"的解釋可以講成

"作用區最頂層的object"嗎?

一直找不到this最好的解釋

0
WilliamHuang
iT邦大師 1 級 ‧ 7 月前

在寫註解嗎~ㄎㄎ
javascript+this+解釋
估歌看看有沒有更多收穫
/images/emoticon/emoticon41.gif

6
fillano
iT邦超人 1 級 ‧ 7 月前

簡單說:this是函數執行時,函數所綁定的物件的參考。

重點是,他是函數執行時才決定的,所以要小心...

  1. 透過函數的call, apply方法,可以改變它執行時的this
  2. 但是這兩個方法不影響:
    1. 使用bind方法綁定到this到指定物件產生的新函數
    2. arrow function

例如:

var a = {
  s:'a',
  m:function(){
    console.log(this.s);
  }
};
a.m();//show 'a'
var b = {
  s:'b'
};
a.m.call(b);//show 'b'
b.m1 = a.m;
b.m1();//show 'b'
var c = a.m.bind(b);
c();//show 'b'
var d = {
  s:'d'
};
c.call(d);//show 'b'

沒跟任何物件有關係時,預設的this是Global物件,在瀏覽器的話就是window物件。

tsuifei iT邦新手 5 級 ‧ 7 月前 檢舉

很棒的解釋,謝謝~

0
tsuifei
iT邦新手 5 級 ‧ 7 月前

對我來說this有點像是要針對某個元素做事件處理的那個元素
例如有很多個h2,如果寫點擊h2(任何一個)會有效過,那個任何其中一個被點擊的就是this
不知這樣解釋對不對,是我的認知啦~

我要發表回答

立即登入回答