国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 語(yǔ)言 > JavaScript > 正文

JavaScript跳出循環(huán)的三種方法(break, return, continue)

2024-05-06 15:36:23
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

前言:

一位前端界的大神讓我去思考的一個(gè)問(wèn)題, 給了Big-man一段代碼,如下:

function Seriously(options) {  // if called without 'new', make a new object and return that  if(window === this || !(this instanceof Seriously) || this.id !== undefined) {    return new Seriously(options);  }}

return語(yǔ)句執(zhí)行之后還會(huì)繼續(xù)執(zhí)行嗎?這是大神上來(lái)讓我解決的問(wèn)題,既然提到了return那我也就隨帶解決JS中另外的兩種結(jié)束循環(huán)的方法break, continue。

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á)式所有的條件容易得多。
for(var i = 519; i < 550; i++) {  if(i == 522) {    break;  }  console.log(i);  alert(i);  document.write(i);} 
當(dāng)i = 521的時(shí)候,直接退出for這個(gè)循環(huán)。這個(gè)循環(huán)將不再被執(zhí)行。 對(duì)于輸出結(jié)果的話,可以自己去測(cè)試的吧。

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 = 5; i >=0; i--) {  if(i == 4 || i == 3 || i == 1) {    continue;  }  console.log(i);  alert(i);  document.write(i);}
當(dāng)i = 4、i = 3以及i = 1的時(shí)候,直接跳出for循環(huán)。下次繼續(xù)執(zhí)行。 至于輸出結(jié)果,還希望大家去打印一下。

Return語(yǔ)句:

return語(yǔ)句就是用于指定函數(shù)返回的值。return語(yǔ)句只能出現(xiàn)在函數(shù)體內(nèi),出現(xiàn)在代碼中的其他任何地方造成語(yǔ)法錯(cuò)誤!

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

執(zhí)行結(jié)果Uncaught SyntaxError: illegal return statement(...)

錯(cuò)誤意思是非法捕獲的查詢返回語(yǔ)句。

當(dāng)執(zhí)行return語(yǔ)句時(shí), 即使函數(shù)主題中還有其他語(yǔ)句, 函數(shù)執(zhí)行也會(huì)停止!

<script type="text/javascript">  if(username == "") {    alert("please input your username: ");    return false;  } else if (qq == "") {    alert("please input your qq number: ");    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>            
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 石泉县| 察隅县| 读书| 漳平市| 西昌市| 福建省| 泸溪县| 青海省| 海丰县| 青田县| 乌兰浩特市| 出国| 仙桃市| 诸暨市| 遵化市| 屯门区| 枞阳县| 深圳市| 苗栗县| 浦东新区| 错那县| 青州市| 增城市| 麻江县| 彭阳县| 武夷山市| 城步| 志丹县| 游戏| 银川市| 团风县| 东安县| 建昌县| 腾冲县| 东源县| 炎陵县| 广宗县| 望都县| 宁强县| 桃江县| 五大连池市|