变量在JavaScript中变为NaN外循环

时间:2016-05-04 07:03:45

标签: javascript

我很好奇变量如何在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),解释了如果在循环中实例化变量会如何发生这种情况,但在我的情况下,变量是全局首先创建的。

有没有人能分享一下如何发生这种情况?

1 个答案:

答案 0 :(得分:0)

在以下代码中添加一个数字检查

$target_path = $target_path . md5(uniqid()) . "." . $ext[count($ext) - 1];     // Set the target path with a new name of image.

因为如果在某个变量中添加非数值(可能是某个空值),则变为NaN