'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 respuestas

Bá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?

Respuestas a la pregunta(8)

Su respuesta a la pregunta