função 'this' dentro da função prototype [duplicado]

Esta pergunta já tem uma resposta aqui:

Como acessar o `this` correto dentro de um retorno de chamada? 10 respostas

Basicamente, tenho um objeto, estendido com uma função através de seu protótipo. Dentro dessa função, existe outra função, no entanto, ao usarthis nessa função aninhada, ela não parece se referir ao objeto, mas à função.

Por exemplo,

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

othis.foo não se refere ao valor 123, mas é indefinido, pois se refere à função aninhada, na qual nenhumfoo existe. Como posso acessar o valor 123 da função aninhada?

questionAnswers(8)

yourAnswerToTheQuestion