, По сути, когда вы используете функцию стрелки, она не создает свой собственный контекст "this". Таким образом, использование «this» будет ссылаться на контекст родительской функции. Вот как будет выглядеть код:
от вопрос уже есть ответ здесь:
Как получить доступ к правильному `this` внутри обратного вызова? 10 ответовУ меня в основном есть объект, расширенный функцией через ее прототип. Внутри этой функции существует другая функция, однако при использовании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
this.foo
не относится к значению 123, но не определено, так как относится к вложенной функции, в которой нетfoo
существует. Как получить доступ к значению 123 из вложенной функции?