我基本上有一个对象,通过它的原型扩展了一个函数。在那个函数内部,存在另一个函数,但是this
在这个嵌套函数中使用时,它似乎不是指对象,而是指函数。
例如,
var sampleObject = function() {
this.foo = 123;
}
sampleObject.prototype.getFoo = function() {
var nested = function() {
return this.foo;
}
return nested();
}
var test = new sampleObject();
window.alert(test.getFoo()); // undefined
Thethis.foo
不是指 123 值,而是未定义,因为 this 指的是嵌套函数,其中 nofoo
存在。如何从嵌套函数访问 123 值?