JS跳出循環(huán)的方法區(qū)別對(duì)比分析(break,continue,return)
跟許多多態(tài)語(yǔ)言一樣,js也有break,continue,return
面向?qū)ο缶幊陶Z(yǔ)法中我們會(huì)碰到break ,continue, return這三個(gè)常用的關(guān)鍵字,那么關(guān)于這三個(gè)關(guān)鍵字的使用具體的操作是什么呢?我們?cè)谑褂眠@三關(guān)鍵字的時(shí)候需要注意和需要理解的規(guī)則是什么呢?讓我們開始介紹吧:
js編程語(yǔ)法之break語(yǔ)句:
break語(yǔ)句會(huì)使運(yùn)行的程序立刻退出包含在最內(nèi)層的循環(huán)或者退出一個(gè)switch語(yǔ)句。
由于它是用來(lái)退出循環(huán)或者switch語(yǔ)句,所以只有當(dāng)它出現(xiàn)在這些語(yǔ)句時(shí),這種形式的break語(yǔ)句才是合法的。
如果一個(gè)循環(huán)的終止條件非常復(fù)雜,那么使用break語(yǔ)句來(lái)實(shí)現(xiàn)某些條件比用一個(gè)循環(huán)表達(dá)式來(lái)表達(dá)所有的條件容易得多。
for(var i=1;i<=10;i++) { if(i==8) { break; } document.write(i); }
當(dāng)i=8的時(shí)候,直接退出for這個(gè)循環(huán)。這個(gè)循環(huán)將不再被執(zhí)行!
//輸出結(jié)果:1234567
js編程語(yǔ)法之continue語(yǔ)句:
continue語(yǔ)句和break語(yǔ)句相似。所不同的是,它不是退出一個(gè)循環(huán),而是開始循環(huán)的一次新迭代。
continue語(yǔ)句只能用在while語(yǔ)句、do/while語(yǔ)句、for語(yǔ)句、或者for/in語(yǔ)句的循環(huán)體內(nèi),在其它地方使用都會(huì)引起錯(cuò)誤!
for(var i=1;i<=10;i++) { if(i==8) { continue; } document.write(i); }
當(dāng)i=8的時(shí)候,直接跳出本次for循環(huán)。下次繼續(xù)執(zhí)行。
//輸出結(jié)果:1234567910
js編程語(yǔ)法之return語(yǔ)句:
return語(yǔ)句就是用于指定函數(shù)返回的值。return語(yǔ)句只能出現(xiàn)在函數(shù)體內(nèi),出現(xiàn)在代碼中的其他任何地方都會(huì)造成語(yǔ)法錯(cuò)誤!
for(var i=1;i<=10;i++) { if(i==8) { return; } document.write(i); }
執(zhí)行結(jié)果Uncaught SyntaxError: Illegal return statement(…)
意思是非法捕獲的查詢返回語(yǔ)句。
當(dāng)執(zhí)行return語(yǔ)句時(shí),即使函數(shù)主體中還有其他語(yǔ)句,函數(shù)執(zhí)行也會(huì)停止!
<script> if (username==""){ alert("請(qǐng)輸入用戶名"); return false; } if(qq==""){ alert("請(qǐng)輸入QQ"); return false; } </script>
上面的實(shí)例里,當(dāng)username為空時(shí),就不會(huì)再向下執(zhí)行,在一些表單提交中,也可以通過(guò)return false來(lái)阻止默認(rèn)的提交方式,改用Ajax的提交方式,例如:
<form id="form" onSubmit="return false"> ... </form>
到此這篇關(guān)于js跳出循環(huán)的方法區(qū)別(break,continue,return)的文章就介紹到這了,更多相關(guān)js跳出循環(huán)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Winform客戶端向web地址傳參接收參數(shù)的方法
這篇文章主要介紹了Winform客戶端向web地址傳參接收參數(shù)的方法的相關(guān)資料,需要的朋友可以參考下2016-05-05javascript實(shí)現(xiàn)點(diǎn)擊按鈕變色
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)點(diǎn)擊按鈕變色,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07js控制文本框只輸入數(shù)字和小數(shù)點(diǎn)的方法
這篇文章主要介紹了js控制文本框只輸入數(shù)字和小數(shù)點(diǎn)的方法,實(shí)例分析了javascript使用正則表達(dá)式實(shí)現(xiàn)限制數(shù)字和小數(shù)點(diǎn)的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03認(rèn)識(shí)延遲時(shí)間為0的setTimeout
由 John Resig 的 How JavaScript Timers Work 可以知道,現(xiàn)有的 JavaScript 引擎是單線程處理任務(wù)的。它把任務(wù)放到隊(duì)列中,不會(huì)同步去執(zhí)行,必須在完成一個(gè)任務(wù)后才開始另外一個(gè)任務(wù)。2008-05-05JavaScript 節(jié)流函數(shù) Throttle 詳解
這篇文章主要為大家詳細(xì)介紹了JavaScript 節(jié)流函數(shù) Throttle,感興趣的小伙伴們可以參考一下2016-07-07JavaScript實(shí)現(xiàn)強(qiáng)制重定向至HTTPS頁(yè)面
這篇文章主要介紹了JavaScript實(shí)現(xiàn)強(qiáng)制重定向至HTTPS頁(yè)面,本文講解如何用JS實(shí)現(xiàn)HTTP重定向HTTPS或者HTTPS跳轉(zhuǎn)到HTTP,需要的朋友可以參考下2015-06-06cloneNode實(shí)現(xiàn)表格增加刪除效果
cloneNode實(shí)現(xiàn)表格增加刪除效果...2006-11-11