Javascript代码进入无限循环

时间:2016-06-06 10:35:59

标签: javascript loops

以下代码进入无限循环并且网页崩溃我需要知道它有什么问题?

    for (var i = 0; i < 2; i+1) {
            for (var j = i; j < 8; j + 2) {
                console.log(arr[j].Qu);
            }
            console.log(arr[i]);
        }

4 个答案:

答案 0 :(得分:4)

i + 1没有更新我的值,因此,i总是有值1,因为它在每次运行中需要0 + 1,因此永远不会是&gt; 2,永无止境 您需要使用i ++进行更改,例如

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

另外,正如@Xufox指出的那样,用

来修改你的J循环
for (var j = i; j < 8; j += 2) {

i + 1不是分配操作,这就是你需要分配值的原因。 i++j+=2转换为

i = i+1;
j= j+2;

并且右手操作的结果自我赋值给变量

答案 1 :(得分:1)

未将值分配回变量。

 for (var i = 0; i < 2; i+=1) { // i++
            for (var j = i; j < 8; j+=2) {
                console.log(arr[j].Qu);
            }
            console.log(arr[i]);
        }

答案 2 :(得分:1)

i+1不会修改i值。 您可以改为编写i++

同样,j + 2不会更新j。 你应该写j += 2

以下是更正后的代码:

for (var i = 0; i < 2; i++) {
    for (var j = i; j < 8; j += 2) {
        console.log(arr[j].Qu);
    }
    console.log(arr[i]);
}

答案 3 :(得分:1)

for (var i = 0; i < 2; i+=1) {
        for (var j = i; j < 8; j+= 2) {
            console.log(arr[j]);
        }
        console.log(arr[i]);
    }