У меня есть этот ключ в объект JavaScript {}Неопределенное значение в контуре Foreach
resolve: function() {
var result = this.initialValue;
console.log('initial value:',result); // 5
this.functions.forEach(function (element, index) {
console.log('index:', index, 'result:',result); //index=0, result=undefined :(
var result = element.func(result);
});
}
результат определяется вне цикла (со значением Number (5)). Но при первой итерации цикла переменная результата становится неопределенной. Есть ли что-то о JS, которого я не знаю?
Является ли var result = element.func(result);
вызовом как-то переопределяющим result
странным способом? Нет, этого не может быть, потому что этот вызов приходит после первого входа в систему result
.
в этом случае element.func() это просто переменная, представляющая console.log()
так element.func(result)
должно быть эквивалентно console.log(result)
, но это распечатка не определено вместо 5.
не знаю, что это продолжается.
возможно дубликат [Какова область переменных в JavaScript?] (Http://stackoverflow.com/questions/500431/what-is-the-scope-of-variables-in-javascript) – Mathletics