Задать вопрос
MrDinkyToster
@MrDinkyToster

Откуда берется this в функциях из prototype встроенных псевдо-классов в JS?

Здравствуйте, интересует такой вопрос: откуда в данном примере берется this и почему он указывает на саму функцию?

Function.prototype.defer = function (time) {
   setTimeout(this, time);
};

function f() {
  alert( "Hello" );
}

f.defer(1000); // выведет "привет" через 1 секунду


Заранее спасибо.
  • Вопрос задан
  • 202 просмотра
Подписаться 1 Средний 1 комментарий
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 1
KorniloFF
@KorniloFF Куратор тега JavaScript
Работаю по font-end / JS
Function.prototype.defer = function (time) {
   setTimeout(this, time);
};

Конкретно здесь - ссылка на все экземпляры объектов, то есть - на все функции, поскольку все функции - это объекты, наследующие у Function.prototype.

А вообще - это контекст вызова функции. То есть, при прямом вызове метода объекта this укажет на сам объект.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы