Básicamente tengo un objeto, ampliado con una función a través de su prototipo. Dentro de esa función, existe otra función; sin embargo, al usar this
en esta función anidada, no parece referirse al objeto, sino a la función.'this' en función dentro de la función de prototipo
Por ejemplo,
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
El this.foo
no se refiere al valor de 123, pero no está definida como esto se refiere a la función anidada, en la que no existe foo
. ¿Cómo puedo acceder al valor 123 desde la función anidada?
Gracias.
posible duplicado de [En Javascript, ¿por qué el operador "this" es incoherente?] (Http://stackoverflow.com/questions/80084/in-javascript-why-is-the-this-operator-inconsistent) –