淺析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來跳出。
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)過程,其 不 跳出循環(huán),而是繼續(xù)往下判斷循環(huán)條件執(zhí)行語(yǔ)句。
只能結(jié)束循環(huán)中的一次過程,但不能終止循環(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)換來是數(shù)據(jù)類型一致
(3) return 當(dāng)方法說明中用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),即跳過本次循環(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后,跳過循環(huán)體中余下的語(yǔ)句,而去對(duì)for語(yǔ)句中的“表達(dá)式3”求值,然后進(jìn)行“表達(dá)式2”的條件測(cè)試,
最后根據(jù)“表達(dá)式2”的值來決定for循環(huán)是否執(zhí)行。在循環(huán)體內(nèi),不論continue是作為何種語(yǔ)句中的語(yǔ)句成分,都將按上述功能執(zhí)行,這點(diǎn)與break有所不同
以上所述是小編給大家介紹的JavaScript中break、continue和return的區(qū)別,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
javascript搜索框效果實(shí)現(xiàn)方法
這篇文章主要介紹了javascript搜索框效果實(shí)現(xiàn)方法,可實(shí)現(xiàn)顯示默認(rèn)提示文字的搜索框效果,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2015-05-05js對(duì)table的td進(jìn)行相同內(nèi)容合并示例詳解
正如標(biāo)題所言如何對(duì)table的td進(jìn)行相同內(nèi)容合并,下面為大家詳細(xì)介紹下使用js是如何做到的,感興趣的朋友不要錯(cuò)過2013-12-12JS數(shù)組push、unshift、pop、shift方法的實(shí)現(xiàn)與使用方法示例
這篇文章主要介紹了JS數(shù)組push、unshift、pop、shift方法,結(jié)合實(shí)例形式分析了JS數(shù)組push、unshift、pop、shift方法針對(duì)數(shù)組添加、刪除等相關(guān)操作技巧,需要的朋友可以參考下2020-04-04超漂亮的Bootstrap 富文本編輯器summernote
Summernote 是一個(gè)簡(jiǎn)單,靈活,所見即所得(WYSIWYG)的編輯器,基于 jQuery 和 Bootstrap 構(gòu)建。對(duì)bootstrap 文本編輯器相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧2016-04-04Javascript 實(shí)現(xiàn)匿名遞歸的實(shí)例代碼
本篇文章主要介紹了Javascript 實(shí)現(xiàn)匿名遞歸的實(shí)例代碼,利用 arguments.callee 來實(shí)現(xiàn)匿名遞歸的方式。有興趣的可以了解一下2017-05-05JS編寫函數(shù)實(shí)現(xiàn)對(duì)身份證號(hào)碼最后一位的驗(yàn)證功能
二代身份證號(hào)碼為18位,怎么編寫函數(shù)實(shí)現(xiàn)對(duì)身份證號(hào)碼最后一位的驗(yàn)證功能呢?今天小編通過代碼給大家分享下實(shí)現(xiàn)方法2016-12-12