總結來說this就像是沒什麼太大的意義對於function而言,因為不管function的this他都指向window,所以對於不是物件的就沒有什麼用處。
就像:
function ero(){
console.log(this);
}
ero();
但反過來說對於物件的使用上this才能發揮它的意義吧
就像:
var obj = {
value: 1,
ero: function() {
console.log(this.value);
},
h: {
value: 2,
ero: function() {
console.log(this.value);
}
}
}
當然這也只是初心者的感覺,如果要真正搞懂他還是要去了解ECMAScript。
最後總結一下:
不是物件的this基本上沒有意義。
沒有意義的this會根據環境給一個預設值。
非嚴格模式在瀏覽器底下預設值是window。
可以用call改變this的值。
要看this,就看這個function怎麽被呼叫。
可以把obj.h()看成obj.h.call(obj),以此類推,找出this的值。