声明一个变量是不起作用的,除非它等于0。
声明一个变量时,除非将其设为0,否则无法正常工作。出现这个问题的原因是,当变量未设置为数字时,它的值为undefined。因此,在计算sumNum += i时,会得到sumNum = undefined + i,结果为NaN。然后,sumNum = NaN + i,仍然得到NaN。
解决方法是在使用变量之前检查其值,并在其为undefined时将其设为0:sumNum = sumNum || 0(当值为假时将其设为0)。
但我认为你甚至不希望它成为全局变量,在这种情况下,你只需要在函数内部声明它(最好使用正常的语法进行声明)。
整理后的代码如下:
function sumAll(startNum, endNum) { var sumNum = 0; for (var i = startNum; i <= endNum; i++) { sumNum += i; } return sumNum; } console.log(sumAll(1, 3));
感谢你的建议,但我认为这不是问题的原因。