我很好奇变量如何在for
循环中成为整数,但在循环之外立即成为NaN
。
var sumNum = 0;
for (var i = data.length - 1; i >=0; i--) {
sumNum += data[i].stored_value;
// check value inside loop
console.log(sumNum);
}
// check value outside loop
console.log(sumNum);
结果:
第一个console.log(sumNum)
打印在我们迭代时增加整数,并在数组中加起来stored_value
。但第二个console.log(sumNum)
打印NaN
。
我读了一个相关的线程(Variable becomes Nan when i try to use it outside of the .each function),解释了如果在循环中实例化变量会如何发生这种情况,但在我的情况下,变量是全局首先创建的。
有没有人能分享一下如何发生这种情况?
答案 0 :(得分:0)
在以下代码中添加一个数字检查
$target_path = $target_path . md5(uniqid()) . "." . $ext[count($ext) - 1]; // Set the target path with a new name of image.
因为如果在某个变量中添加非数值(可能是某个空值),则变为NaN