我想总结一下myArray我声明了var sumUpArray = 0的地方。它返回正确的myArray总和为6。



var myArray = [1, 2, 3];
var sumUpArray = 0;

for (i = 0; i < myArray.length; i++) {
  sumUpArray = sumUpArray + myArray[i];
}

console.log(sumUpArray);





但是当我声明var sumUpArray;时,它返回NaN



var myArray = [1, 2, 3];
var sumUpArray;

for (i = 0; i < myArray.length; i++) {
  sumUpArray = sumUpArray + myArray[i];
}

console.log(sumUpArray);





变量的两个声明有什么区别?

最佳答案

在第一个示例中,您声明了变量,但未分配任何值,因此它以undefined开头。我认为您可能希望将其自动分配为0,但事实并非如此。

然后,您尝试向其中添加一些数字,但undefined + {anyNumber} = NaN

10-06 11:49