this
的指向问题:
this 永远指向最后调用它的那个对象!
- 当你记住这句话时,this的指向问题,你就理解了一半了;接下来我们看几个例子:
window
调用:
var name = 'outside --- name'
function setName() {
var name = 'inside --- name'
console.log(this.name)
}
setName() // outside --- name
- 看这段代码前,我们先在心里默念:
this 永远指向最后调用它的那个对象
。 - 我们可以看道
setName
这个函数最后是window
这个全局对象所调用,所以这个this
是指向 window 的。
对象调用:
var name = 'outside --- name'
var obj = {
name: 'Object --- name',
fn: function setName() {
var name = 'inside --- name'
console.log(this.name)
}
}
obj.fn() // Object --- nam