簡體   English   中英

Javascript代碼進入無限循環

[英]Javascript code goes into infinite loop

以下代碼進入無限循環,並且網頁崩潰了,我需要知道這是怎么回事?

    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]);
        }

i + 1不會更新i的值,因此,i始終為1,因為每次運行都需要0 + 1,因此永不> 2且永無止境,您需要使用i ++對其進行更改,例如

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

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

for (var j = i; j < 8; j += 2) {

i + 1不是分配操作,這就是為什么您需要自己分配值的原因。 i++j+=2轉換為

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

右手操作的結果將自賦給變量

值未分配回變量。

 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]);
        }

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]);
}

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM