Я пытаюсь понять функции JavaScript. просто хотел узнать, как значение console.log(go());
возвращает 6?Функция JavaScript в объекте
var x = 10;
var foo = {
x: 2,
baz: {
x : 1,
bar: function() {
return this.x + 1;
}
}
}
var go = foo.baz.bar
console.log(go()); //returns 6
console.log(foo.baz.bar()); //returns 2
Может ли кто-нибудь просить меня объяснить, как его возвращение 6?
В моем браузере 'go()' возвращает 'NaN'. В какой среде вы тестируете? – Sirko
вы не присвоили значение ** x **, которое впервые ** не определено **, поэтому оно вернет ** NaN не 6 **. повторите попытку. –
это вернет 6, только у вас есть контекст, где x имеет значение, равное 5, в вашем примере вы должны где-то определить глобальную переменную x = 5 –