【发布时间】:2018-03-12 21:26:04
【问题描述】:
我做了一个循环来收集数组中的数字 我输入了一个等于 0 的值 并给我 21 因为每次 0 都会添加到数组中的每个元素并收集它们并给我们 20 但如果我将值设为 1 它给了我 21,但它应该给我 24 因为我给数组中的每个元素都加了 1?还是我错了 为什么它给了我 21?
var num = [5,5,5,5];
var allto = 1;
var total = 0;
for(var i= 0; i<num.length; i++) {
allto = allto + num[i];
total = total + num[i];
}
alert(allto); // == 21
alert(total); // == 20
【问题讨论】:
-
哦,我明白了。您认为每次分配时都会添加
1。这不是初始化的工作方式。它只是以1开头,然后在每次迭代中用5替换它。换句话说,1是一个起始值。它对以后的任何其他操作没有其他影响。 -
...这就像你的简单数学。如果你有
1并添加5,你会得到6。如果再次添加5,则得到11,以此类推... -
现在很清楚了,谢谢 :)
标签: javascript arrays loops iteration