this в setTimeout и setInterval JavaScript

this в setTimeout и setInterval JavaScript

Konark 30 марта, 2020 Комментариев (0)

В JavaScript есть такие функции как setTimeout и setInterval. Они предназначены для планирования (или же отстрочки) вызова функции.

setTimeout позволяет вызвать функцию один раз через определённый интервал времени.

setInterval позволяет вызывать функцию регулярно, повторяя вызов через определённый интервал времени.

Но если Вы вдруг захотите использовать this, то увидите неприятную особенность — он «потеряется» и вернет undefined.

Для решения этой проблемы, есть несколько вариантов. Я же использую и рекомендую использовать, как самый простой способ, передачу this в переменную функции. Например:

var self = this;

setTimeout( function() {
    self.functionName();
} );
Просмотров: 1 083

Добавить комментарий

Ваш e-mail не будет опубликован. Имя и e-mail обязательны для заполнения.