Может кто-то объясняет область связывания следующего кода, пожалуйстаJavascript вложенная функция потери сфера
window.name = "window";
object = {
name: "object",
method: function() {
nestedMethod: function() {
console.log(this.name);
}
nestedMethod();
}
}
object.method(); // print 'window'
Я думаю, что мой вопрос больше о this
... почему this
потери объема и по умолчанию в глобальном масштабе? все анонимные функции, которые мы создали, пойдут на глобальную сферу?
Вы можете попробовать использовать имя объекта, поэтому 'object.name'. – elclanrs
нет. все функции идут по глобальной области по умолчанию, если не привязаны к объекту как свойству ... – dandavis
@ dandavis, что действительно неточно. Функции не по своей сути «продолжают» любую область. Значение 'this' определяется обстоятельствами каждого вызова функции. – Pointy