以下是我的代码 -
(function($){
obj = {
alertText: function(){
console.log('Called');
},
testFunc: function(){
console.log(this);
this.alertText();
},
checkFunc: function(){
inner();
function inner(){
console.log(this);
this.alertText();
}
}
}})(jQuery)
当我调用时testFunc()
,alertText()
正确地调用了this关键字。
但是,在我调用函数后,alertText()
使用this的调用在内部失败inner()
(TypeError 说 this.alertText 不是函数)checkFunc()
。
当我如上所示控制它时,我在其中得到不同的内容 - 里面的内容testFunc()
显示对象obj
,而里面inner()
的内容显示Window
对象。
为什么会这样?为什么这在两个地方意味着不同?