Почему f.call ведет себя так?

var x = (function(){}).call;
console.log(typeof x); // function
x(this); // Uncaught TypeError: x is not a function


Что там такого творится внутри
  • Вопрос задан
  • 561 просмотр
Пригласить эксперта
Ответы на вопрос 2
IceRD
@IceRD
А что должно быть, если получаете [native code] и у него отсутствует прототип?
var x = (function(){}).call
x.prototype; // undefined
Ответ написан
Присваиваешь переменной метод - теряешь контекст. Ели хочешь получить функцию с привязанным контекстом - используй bind
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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