淺析JavaScript中break、continue和return的區(qū)別
break
function myBreak() {
for(var i = 0; i < 5; i++) {
if(i == 3) {
break;
}
console.log(i);
}
}
myBreak();
輸出:
0
1
2
break: 直接跳出 當(dāng)前 的循環(huán),從當(dāng)前循環(huán)外面開始執(zhí)行,忽略循環(huán)體中任何其他語(yǔ)句和循環(huán)條件測(cè)試。它只能跳出一層循環(huán),如果你的循環(huán)是嵌套循環(huán),那么你需要按照你嵌套的層次,逐步使用break來(lái)跳出。
continue
function myContinue() {
for(var i = 0; i < 5; i++) {
if(i == 3) {
continue;
}
console.log(i);
}
}
myContinue();
輸出:
0
1
2
4
continue: 終止當(dāng)前的一次循環(huán)過(guò)程,其 不 跳出循環(huán),而是繼續(xù)往下判斷循環(huán)條件執(zhí)行語(yǔ)句。
只能結(jié)束循環(huán)中的一次過(guò)程,但不能終止循環(huán)繼續(xù)進(jìn)行。
return
function myReturn() {
for(var i = 0; i < 5; i++) {
if(i == 3) {
return i;
}
console.log(i);
}
}
var s = myReturn();
console.log("s: " + s);
輸出:
0
1
2
s: 3
return: 從當(dāng)前的方法中退出,返回到該調(diào)用的方法的語(yǔ)句處,繼續(xù)執(zhí)行。
總結(jié)
1、return語(yǔ)句的作用
(1) return 從當(dāng)前的方法中退出,返回到該調(diào)用的方法的語(yǔ)句處,繼續(xù)執(zhí)行
(2) return 返回一個(gè)值給調(diào)用該方法的語(yǔ)句,返回值的數(shù)據(jù)類型必須與方法的聲明中的返回值的類型一致,可以使用強(qiáng)制類型轉(zhuǎn)換來(lái)是數(shù)據(jù)類型一致
(3) return 當(dāng)方法說(shuō)明中用void聲明返回類型為空時(shí),應(yīng)使用這種格式,不返回任何值。
2、break語(yǔ)句的作用
(1) 只能在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)使用break語(yǔ)句。
(2) 當(dāng)break出現(xiàn)在循環(huán)體中的switch語(yǔ)句體內(nèi)時(shí),其作用只是跳出該switch語(yǔ)句體。
(3) 當(dāng)break出現(xiàn)在循環(huán)體中,但并不在switch語(yǔ)句體內(nèi)時(shí),則在執(zhí)行break后,跳出本層循環(huán)體。
(4) 在循環(huán)結(jié)構(gòu)中,應(yīng)用break語(yǔ)句使流程跳出本層循環(huán)體,從而提前結(jié)束本層循環(huán)
3、continue語(yǔ)句作用
(1) continue語(yǔ)句的一般形式為:continue;
(2) 其作用是結(jié)束本次循環(huán),即跳過(guò)本次循環(huán)體中余下尚未執(zhí)行的語(yǔ)句,接著再一次進(jìn)行循環(huán)的條件判定。
(3) 注意:執(zhí)行continue語(yǔ)句并沒有使整個(gè)循環(huán)終止。在while和do-while循環(huán)中,continue語(yǔ)句使得流程直接跳到循環(huán)控制條件的測(cè)試部分 ,然后決定循環(huán)是否繼續(xù)進(jìn)行。
(4) 在for 循環(huán)中,遇到continue后,跳過(guò)循環(huán)體中余下的語(yǔ)句,而去對(duì)for語(yǔ)句中的“表達(dá)式3”求值,然后進(jìn)行“表達(dá)式2”的條件測(cè)試,
最后根據(jù)“表達(dá)式2”的值來(lái)決定for循環(huán)是否執(zhí)行。在循環(huán)體內(nèi),不論continue是作為何種語(yǔ)句中的語(yǔ)句成分,都將按上述功能執(zhí)行,這點(diǎn)與break有所不同
以上所述是小編給大家介紹的JavaScript中break、continue和return的區(qū)別,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
JavaScript中三個(gè)等號(hào)和兩個(gè)等號(hào)你了解多少
本篇文章主要介紹了js里面的==和===,== 判斷如果兩邊變量的類型不同,而 === 則不做類型轉(zhuǎn)換,有興趣的可以了解一下2017-07-07
javascript中JSON對(duì)象與JSON字符串相互轉(zhuǎn)換實(shí)例
這篇文章主要介紹了javascript中JSON對(duì)象與JSON字符串相互轉(zhuǎn)換,實(shí)例分析了json對(duì)象與字符串常用的幾種轉(zhuǎn)換技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
layui 實(shí)現(xiàn)表格某一列顯示圖標(biāo)
今天小編就為大家分享一篇layui 實(shí)現(xiàn)表格某一列顯示圖標(biāo)的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09
全面解析Bootstrap中transition、affix的使用方法
這篇文章主要為大家詳細(xì)解析了Bootstrap中transition、affix的使用方法,感興趣的朋友可以參考一下2016-05-05
微信小程序調(diào)用騰訊地圖API文檔JavaScript?SDK和WebService?API詳細(xì)解讀
本文介紹了如何使用騰訊位置服務(wù),包括申請(qǐng)開發(fā)者密鑰、獲取小程序APPID、下載地圖SDK、設(shè)置服務(wù)器域名白名單等步驟,詳細(xì)說(shuō)明了如何在微信小程序中集成騰訊位置服務(wù),進(jìn)行地圖展示和周邊搜索等功能的實(shí)現(xiàn),同時(shí)提醒注意API的調(diào)用次數(shù)和權(quán)限限制,需要的朋友可以參考下2024-09-09
js實(shí)現(xiàn)回放拖拽軌跡從過(guò)程上進(jìn)行分析
今天的記錄,記錄回放拖拽痕跡,先從過(guò)程上進(jìn)行分析,需要的朋友可以參考下2014-06-06
使用window.prompt()實(shí)現(xiàn)彈出用戶輸入的對(duì)話框
window對(duì)象的最后一種對(duì)話框是提示對(duì)話框,它顯示了預(yù)先設(shè)置的信息并提供文本域供用戶輸入應(yīng)答。它包括兩個(gè)按鈕,即Cancel和Ok,允許用戶用兩個(gè)相反的期望值來(lái)關(guān)閉這個(gè)對(duì)話框:取消整個(gè)操作或接收輸入到對(duì)話框中的文本2015-04-04

