1. 程式人生 > >關於跳出while(1)死迴圈問題

關於跳出while(1)死迴圈問題

最近也是再看題的時候看到了這個東西。同樣也是再寫需求中出現的東西。也就是while(1)死迴圈,有時候我們想讓一個while一直迴圈。到需要的時候跳出迴圈。這種要怎麼辦???

來看一道題:

while(1){
    switch("a"){
        case "a" :
            console.log(true);
        //修改程式碼不讓while死迴圈,但是不能用break
    }
}

看到這裡,心裡想的不讓用break怎麼辦啊?? 經過冷靜下來想到了可以用try  catch語句跑出異常來使用。親測試了一下,也算可以。

try{
    while (1) {
       switch("a"){
           case "a" :
              console.log(true);
           throw new Error("跳出迴圈");
        }  
    }
} catch(e){
    console.log(e.name);
}

然後通過查查文件,找到了一個基礎的方法,JavaScript標籤。可以說成標記的作用,可以配合著break和continue來使用。也就是JavaScript版本的goto實現。

out: 
for(let i = 0; i < 1; i ++){     
        while(1){
            switch("a"){
                case "a" :
                    console.log(true);
                    
            }
            continue out;
        }
    }

第三個方法,也就是簡單粗暴的return;。

function fn(){               
    while(1){
        switch("a"){
            case "a" :
                console.log(true);
                return;
        }           
    }
}
fn();

如果幫的到的話請點個贊吧,有什麼錯誤的話,或者有更好的方法,可以留言一下。

主頁傳送門