在javascript中
"this"的解釋可以講成
"作用區最頂層的object"嗎?
一直找不到this最好的解釋
簡單說:this是函數執行時,函數所綁定的物件的參考。
重點是,他是函數執行時才決定的,所以要小心...
例如:
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物件。
對我來說this有點像是要針對某個元素做事件處理的那個元素
例如有很多個h2,如果寫點擊h2(任何一個)會有效過,那個任何其中一個被點擊的就是this
不知這樣解釋對不對,是我的認知啦~