显然是这里的初学者。
第一个选项:
var myArray = [2, 4, 6, 8, 10];
for (a = 0; a < myArray.length; a++) {
var output = 0;
output += myArray[a];
}
console.log(output); // Output is 10 in this case.
第二个选项:
var myArray = [2, 4, 6, 8, 10];
var output = 0;
for (a = 0; a < myArray.length; a++) {
output += myArray[a];
}
console.log(output); // Output is 30 in this case.
所以,我的问题是-为什么在函数内部“ var output = 0”时输出为10,而在函数外部则输出为30?
答案 0 :(得分:0)
第一种方法将output
设置为0,然后加2,然后再次将其设置为0 ,然后添加4,然后将其再次设置为0 ,等等。
第二种方法将其设置为0
,然后添加2,然后添加4,依此类推。
答案 1 :(得分:0)
第一个代码
var myArray = [2, 4, 6, 8, 10];
for (a = 0; a < myArray.length; a++) {
var output = 0;
output += myArray[a];
}
console.log(output); // Output is 10 in this case.
由于使用的变量范围不正确,上述代码语法不正确,在某些情况下可能会出错。
在这种情况下,它可以工作并且Output为10,因为在每个循环时间内,由于在每个循环中都放置了此命令,其值重置为0
var output = 0;
结果,当您打印它时,它将得到最终结果10
第二个代码放30个很清楚,我认为没有必要进一步解释