看题:
var myObject = {
foo:"xiaohu",
func:function(){
var that = this;
console.log(this.foo);//xiaohu
console.log(that.foo);//xiaohu
(function(){
console.log(this == window);//true
console.log(this.foo);//undefined
console.log(that.foo);//xiaohu
})()
}
}
myObject.func()
外部函数func中,this函数指向的对象是myObject,因此that指向myObject
在内部函数中,this不再指向myObject。其结果是,this.name没有在函数内部定义,相反指向到本地变量that保持的范围内,并且可以访问。内部函数的this将指向全局的window对象。

本文通过一个具体的JavaScript示例,详细解析了在不同作用域下this关键字的行为差异,尤其是在函数内部和外部函数调用中this指向的变化。
2238

被折叠的 条评论
为什么被折叠?



