0

我是编码新手,正在试图弄清楚为什么这不起作用。该函数工作正常我假设 sumArray 函数中存在未处理的基本缺陷

// SET UP FUNCTIONS FOR LATER USE   

// sumArray - takes all values within an array and adds them 
var sumArray = function(x){
    var sum = 0;
    for(i=0;i<x.length;i++) {
        sum += parseInt(x[i]);
    };
    return sum;     
};

// create an array and use sumArray function inside of a loop.

// This works
var arrayTest = new Array(1,2,3,4,5,6,7,8,9,10);
document.write (sumArray(arrayTest);

// This crashes the browser
for(i=0;i<10;i++){
document.write("<br/>" + sumArray(arrayTest) + "<br/>"); 
};

提前感谢您的任何见解。

4

2 回答 2

4

您需要使用以下命令声明“i” var

for(var i=0;i<10;i++){

在两个循环中。如果你不这样做,那么两个循环只会破坏一个全局“i”。

于 2012-10-05T17:19:34.613 回答
4

就在第二个循环之前,您缺少一个).

document.write (sumArray(arrayTest) ); // <-- right here

此外,要非常小心document.write. 如果它在文档加载时运行你可能会没事的。确保在文档加载后不要使用它。

于 2012-10-05T17:19:43.490 回答