$(INCLUDE)
上面的代码在控制台内输出 Object(),因为this关键字指向对象'obj'。这意味着'this'变量指向它所在的对象。
然而,
var obj = {
outer: function() {
console.log(this);
}
}
上面的代码在控制台中输出 window 。为什么它不在控制台中显示函数 outer(),因为根据我的知识,函数也是一个对象,它可以有自己的属性。所以如果我在内部函数中做function outer() {
function inner() {
console.log(this);
}
}
,我应该能够输出 - this.name = "myName";
,但事实并非如此。在我身边是否有任何误解,或者JS只是那样工作?