Pull to refresh

Comments 11

Про глобальные функции тогда уж тоже надо было рассказать, а то материал неполный получился.
У функций вида function() {} this равен объекту window, это у методов this равен объекту перед точкой.

Если я правильно понял ваше замечание, то об этом говорится в первом примере, где рассматривается объявление и вызов функции в глобальной области видимости.
Контекст для function(){} определяется в момент их вызова и равен объекту перед точкой.

var a = {
  b: (function(){ console.log(this); }).bind(window)
};
a.b(); // window
Строго говоря в b попадает новая функция (результат вызова .bind(window)), которая при вызове устанавливает в качестве контекста выполнения this предоставленное значение (window) — что и происходит в вашем примере.
В данной статье не рассматривались такие методы, как bind, call и apply.
Возможно, их стоило включить, но было принято решение не делать этого, чтобы не перегружать материал.
UFO landed and left these words here
Sign up to leave a comment.

Articles