我试图了解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 中的对象,所以我无法理解这种行为。
请从内部角度解释这一点。
谢谢