無限for迴圈(死迴圈)

古墩古墩發表於2024-05-12

-

今天看到一個有意思的for迴圈: for(;;){}

let a = [1,2,3];
let index = 0;
for(;;){
  let val = a[index++];
  console.log(val);
  if(val === undefined) {
    break;
  }
}

for(;;) 是一個無限迴圈,也稱為“死迴圈”。它的三個表示式(初始化表示式、條件表示式、更新表示式)都被省略了,因此沒有任何條件來控制迴圈的執行。這意味著迴圈將永遠持續下去,除非在迴圈體內部遇到了 breakreturn 或丟擲異常等導致迴圈終止的情況。

這種型別的迴圈通常在需要一直監聽事件、保持程式執行、或者執行一些長時間執行的任務時使用。但是,需要特別注意在使用無限迴圈時避免陷入死迴圈,導致程式無法正常終止。

-

相關文章