簡體   English   中英

無限While循環mod 3

[英]Infinite While loop mod 3

我基本上只是想打印一個數字列表,跳過 3 的倍數。我讓它工作了,但我嘗試的最初方式不起作用,我不明白為什么,只需要有人解釋為什么它不起作用工作並進入無限循環。

這就是問題,為什么會進入無限循環? 如果有人可以幫忙,我顯然缺少一個關於代碼的關鍵概念,謝謝。

var i = 0;
     while (i <= 10) {
         if (i % 3 == 0) {
            continue;
        }


       document.write( i + "</br>");
         i++;
        }

我知道你可以這樣做。

while (i <= 10) 
{

     if (i % 3 != 0) {

        document.write("Number is " + i + "<br />");  

    }

   i++

 }

continue跳轉到下一次迭代,並且不會在while完成其余代碼。 所以i沒有被遞增,而是保持為 0 因為你在遞增i之前寫了continue 所以因此它處於無限循環中,它總是小於 10

如果我們忽略產生輸出的代碼而只查看代碼檢查和修改i ,它可能會變得更清楚為什么它不起作用。 它還有助於格式化我們的代碼以使其更加清晰。

var i = 0;

while (i <= 10) {
  if (i % 3 == 0) {
    continue;
  }

  i++;
}
  • i = 0開始。
  • i <= 10true 進入循環。
  • i % 3 == 0true 輸入if塊。
  • continue; . 再次直奔while循環的頂部。 不要通過i++; . 不要收集1
  • 泡沫。 沖洗。 重復(無限)。

暫無
暫無

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

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