關於跳出while(1)死迴圈問題
阿新 • • 發佈:2019-02-04
最近也是再看題的時候看到了這個東西。同樣也是再寫需求中出現的東西。也就是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();
如果幫的到的話請點個贊吧,有什麼錯誤的話,或者有更好的方法,可以留言一下。