我想这是一个新手问题,但我似乎无法弄清楚。我有这个来自雄辩的javascript的关于reduce函数的代码:
function forEach ( info, func ) {
for ( i = 0; i < info.length; i++) {
func(info[i]);
}
}
function reduce (combine, base, array) {
forEach(array, function(elem) {
base = combine(base, elem);
console.log("The base is: " + base);
});
return base;
}
function countZeroes(array) {
function counter(total, element) {
console.log("The total is: " + total);
return total + (element === 0 ? 1 : 0);
}
return reduce(counter, 0, array);
}
我想不通的是,每次调用函数时总共存储的零数量是多少?为什么它保持一个正在运行的标签,而不是每次都被消灭?