Предположим, у меня есть функция а:Как передать «это» в окне setInterval
function a() {
this.b = 1;
this.set = setInterval(function() {console.log(this.b);}, 200);
}
Так что, когда a.set() вызывается анонимная функция будет вызвана. Но это не будет работать так, как это в то время, когда функция запускается, указывает на объект окна. Также не рекомендуется использовать a.b, так как могут быть несколько экземпляров a.
Что такое хорошее решение этой проблемы?
Почему вы не используете 'apply' или' call' https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/apply – Deeptechtons
@Deeptechtons - я не думаю, что 'apply' или 'call' - любое использование этой проблемы, но, возможно, вы могли бы объяснить, что вы имели в виду в ответ? – nnnnnn
@nnnnnn Вопрос определенно является кандидатом на вопрос «Как изменить контекст внутри функции». Что решается с помощью appy или вызова. Но для этого случая может быть излишним. – Deeptechtons