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)體中任何其他語句和循環(huán)條件測試。它只能跳出一層循環(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í)行語句。
只能結(jié)束循環(huán)中的一次過程,但不能終止循環(huán)繼續(xù)進行。
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)用的方法的語句處,繼續(xù)執(zhí)行。
總結(jié)
1、return語句的作用
(1) return 從當(dāng)前的方法中退出,返回到該調(diào)用的方法的語句處,繼續(xù)執(zhí)行
(2) return 返回一個值給調(diào)用該方法的語句,返回值的數(shù)據(jù)類型必須與方法的聲明中的返回值的類型一致,可以使用強制類型轉(zhuǎn)換來是數(shù)據(jù)類型一致
(3) return 當(dāng)方法說明中用void聲明返回類型為空時,應(yīng)使用這種格式,不返回任何值。
2、break語句的作用
(1) 只能在循環(huán)體內(nèi)和switch語句體內(nèi)使用break語句。
(2) 當(dāng)break出現(xiàn)在循環(huán)體中的switch語句體內(nèi)時,其作用只是跳出該switch語句體。
(3) 當(dāng)break出現(xiàn)在循環(huán)體中,但并不在switch語句體內(nèi)時,則在執(zhí)行break后,跳出本層循環(huán)體。
(4) 在循環(huán)結(jié)構(gòu)中,應(yīng)用break語句使流程跳出本層循環(huán)體,從而提前結(jié)束本層循環(huán)
3、continue語句作用
(1) continue語句的一般形式為:continue;
(2) 其作用是結(jié)束本次循環(huán),即跳過本次循環(huán)體中余下尚未執(zhí)行的語句,接著再一次進行循環(huán)的條件判定。
(3) 注意:執(zhí)行continue語句并沒有使整個循環(huán)終止。在while和do-while循環(huán)中,continue語句使得流程直接跳到循環(huán)控制條件的測試部分 ,然后決定循環(huán)是否繼續(xù)進行。
(4) 在for 循環(huán)中,遇到continue后,跳過循環(huán)體中余下的語句,而去對for語句中的“表達式3”求值,然后進行“表達式2”的條件測試,
最后根據(jù)“表達式2”的值來決定for循環(huán)是否執(zhí)行。在循環(huán)體內(nèi),不論continue是作為何種語句中的語句成分,都將按上述功能執(zhí)行,這點與break有所不同
以上所述是小編給大家介紹的JavaScript中break、continue和return的區(qū)別,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對武林網(wǎng)網(wǎng)站的支持!
新聞熱點
疑難解答