Javascript for循环在另一个for循环中调用的函数中

时间:2013-03-17 05:05:55

标签: javascript loops increment

我见过许多人们嵌套for循环的例子,他们改变了增量变量(i,j,k)。

for(var i=0;i<array.length;i++){
    for(var j=0;j<array.length;j++){
        for(var k=0;k<array.length;k++){

        }
    }
}

所以我的问题是为什么不从for循环调用一个函数,在它内部有一个for循环不会导致增量变量的冲突?是因为javascript的功能范围本质还是碰撞而我只是没有遇到问题。例如:

for(var i=0;i<array.length;i++){
    callFunction()
}

function callFunction(){
    for(var i=0;i<arry.length;i++){
        console.log(i)
    }
}

1 个答案:

答案 0 :(得分:4)

我不知道为什么阿德诺没有做出答案,但实际上它与范围有关。将其与:

进行比较
function first() {
  var i = 2;
  console.log(i);
}

function second() {
    var i = 3;
    console.log(i);
    first();
}

每个函数中的i变量都包含在函数中,因此变量不会发生冲突。如果您使用了全局变量(i = 3而不是var i = 3),那么它们就会发生冲突。

如果您想了解javascript和范围规则的相关内容,请查看this question或以下链接:

相关问题