-
今天看到一個有意思的for迴圈: for(;;){}
let a = [1,2,3]; let index = 0; for(;;){ let val = a[index++]; console.log(val); if(val === undefined) { break; } }
for(;;)
是一個無限迴圈,也稱為“死迴圈”。它的三個表示式(初始化表示式、條件表示式、更新表示式)都被省略了,因此沒有任何條件來控制迴圈的執行。這意味著迴圈將永遠持續下去,除非在迴圈體內部遇到了 break
、return
或丟擲異常等導致迴圈終止的情況。
這種型別的迴圈通常在需要一直監聽事件、保持程式執行、或者執行一些長時間執行的任務時使用。但是,需要特別注意在使用無限迴圈時避免陷入死迴圈,導致程式無法正常終止。
-