循环内变量的范围

时间:2014-08-11 21:37:30

标签: javascript

此函数返回数组中的总数,并且它完美地运行。但是如果我在for循环中初始化total,它就不会返回总和。你能告诉我为什么吗?

function sum(arr) {
    var total=0;

    for (var i=0;i<arr.length;i++){
        total += arr[i];
    }

    return total;
}

1 个答案:

答案 0 :(得分:3)

如果在循环内初始化它,则每次迭代都会进行初始化。我会用“#34; reinitialize&#34;事实上。我的意思是,它只是基本的控制流 - 你在循环开始之前初始化一个累加器变量,然后在循环的每次迭代中修改它。