Задать вопрос
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 комментарий
Решения вопроса 1
KorniloFF
@KorniloFF Куратор тега JavaScript
Работаю по font-end / JS
Function.prototype.defer = function (time) {
   setTimeout(this, time);
};

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

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

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽