var object = {
name: ''object",
getName: function() {
return function() {
console.info(this.name)
}
}
}
object.getName()() // underfined
// 因为里面的闭包函数是在window作用域下执行的,也就是说,this指向windows
为什么this是指向windows的,没看懂?
上面代码闭包里面的this为什么是windows呢
关于this的使用,this其实就是代表当前作用域对象的引用。
如果在全局范围this就代表window对象,如果在函数体内,就代表当前的函数所声明的对象。
var box=3;
alert(this.box);//全局,代表window