【发布时间】:2016-06-06 05:28:45
【问题描述】:
我正在尝试了解Javascript 的内部结构。我对this 关键字有一些误解。
Everywhere 声明this 关键字是对调用函数的对象的引用。
但据我所知function 也是一个对象。
所以考虑这个例子
var car = {
brand: "Nissan",
getBrand: function(){
var closure = function(){
console.log(this.brand);
console.log(this);
};
return closure();
}
};
car.getBrand();
为什么this 内部的closure 引用指向global 对象而不是getBrand 包装函数?同样,一切都是 javascript 中的对象,所以我无法理解这种行为。
请从内部角度解释这一点。
谢谢
【问题讨论】:
-
我认为它更接近于:stackoverflow.com/q/9644044/1666547
标签: javascript function object internals ecma