'this' en función dentro de la función prototipo [duplicado]
Esta pregunta ya tiene una respuesta aquí:
¿Cómo acceder al correcto 'this' dentro de una devolución de llamada? 10 respuestasBásicamente tengo un objeto, extendido con una función a través de su prototipo. Dentro de esa función, existe otra función, sin embargo, cuando se usathis
en esta función anidada, no parece referirse al objeto, sino a la función.
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
losthis.foo
no se refiere al valor 123, pero no está definido ya que esto se refiere a la función anidada, en la que nofoo
existe ¿Cómo puedo acceder al valor 123 desde la función anidada?