天天看點

js跳出循環的方法差別(break,continue,return)(轉載)

js程式設計文法之break語句:

break語句會使運作的程式立刻退出包含在最内層的循環或者退出一個switch語句。

由于它是用來退出循環或者switch語句,是以隻有當它出現在這些語句時,這種形式的break語句才是合法的。

如果一個循環的終止條件非常複雜,那麼使用break語句來實作某些條件比用一個循環表達式來表達所有的條件容易得多。

for(var i=1;i<=10;i++) { 
    if(i==8) { 
        break; 
    } 
    document.write(i); 
}      

當i=8的時候,直接退出for這個循環。這個循環将不再被執行!

//輸出結果:1234567

js程式設計文法之continue語句:

continue語句和break語句相似。所不同的是,它不是退出一個循環,而是開始循環的一次新疊代。

continue語句隻能用在while語句、do/while語句、for語句、或者for/in語句的循環體内,在其它地方使用都會引起錯誤!

for(var i=1;i<=10;i++) { 
    if(i==8) { 
        continue; 
    } 
    document.write(i); 
}      

當i=8的時候,直接跳出本次for循環。下次繼續執行。

//輸出結果:1234567910

js程式設計文法之return語句:

return語句就是用于指定函數傳回的值。return語句隻能出現在函數體内,出現在代碼中的其他任何地方都會造成文法錯誤!

for(var i=1;i<=10;i++) { 
    if(i==8) { 
        return; 
    } 
    document.write(i); 
}      

執行結果Uncaught SyntaxError: Illegal return statement(…) 

意思是非法捕獲的查詢傳回語句。

當執行return語句時,即使函數主體中還有其他語句,函數執行也會停止!

js跳出循環的方法差別(break,continue,return)(轉載)
<script>
if (username==""){
   alert("請輸入使用者名");
   return false;
}
if(qq==""){
   alert("請輸入QQ");
   return false;
}
</script>      
js跳出循環的方法差別(break,continue,return)(轉載)

上面的執行個體裡,當username為空時,就不會再向下執行,在一些表單送出中,也可以通過return false來阻止預設的送出方式,改用Ajax的送出方式,例如:

<form id="form" onSubmit="return false">
...
</form>      

繼續閱讀