亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時間:2019年07月30日 11:28:38   作者:JD9  
這篇文章主要介紹了JavaScript跳出循環(huán)的三種方法(break, return, continue),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

前言:

一位前端界的大神讓我去思考的一個問題, 給了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語句執(zhí)行之后還會繼續(xù)執(zhí)行嗎?這是大神上來讓我解決的問題,既然提到了return那我也就隨帶解決JS中另外的兩種結束循環(huán)的方法break, continue。

Break語句:

  • break語句會使運行的程序立刻退出包含在最內(nèi)層的循環(huán)或者退出一個switch語句。
  • 由于它是用來退出循環(huán)或者switch語句的, 所以只有當它出現(xiàn)在這些語句的時候, 這種形式的break語句才是合法的。
  • 如果一個循環(huán)的終止條件非常復雜, 那么使用break語句來實現(xiàn)某些條件比用一個循環(huán)表達式所有的條件容易得多。
for(var i = 519; i < 550; i++) {
  if(i == 522) {
    break;
  }
  console.log(i);
  alert(i);
  document.write(i);
}
 
  • 當i = 521的時候,直接退出for這個循環(huán)。這個循環(huán)將不再被執(zhí)行。
  • 對于輸出結果的話,可以自己去測試的吧。

Continue語句:

  • continue語句和break語句相似。所不同的是,它不是退出一個循環(huán),而是開始循環(huán)的一次新迭代。
  • continue語句只能用在while語句、do/while語句、for語句、或者for/in語句的循環(huán)體內(nèi), 在其他地方使用都會引起錯誤?
for(var i = 5; i >=0; i--) {
  if(i == 4 || i == 3 || i == 1) {
    continue;
  }
  console.log(i);
  alert(i);
  document.write(i);
}
  • 當i = 4、i = 3以及i = 1的時候,直接跳出for循環(huán)。下次繼續(xù)執(zhí)行。
  • 至于輸出結果,還希望大家去打印一下。

Return語句:

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

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

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

  • 錯誤意思是非法捕獲的查詢返回語句。

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

<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>
 

上面的實例里,當username為空時,就不會再向下執(zhí)行,在一些表單提交中,也可以通過return false來阻止默認的提交方式,改用Ajax的提交方式,例如:

<form id="form" onSubmit="return false">
...
</form>

this對應的全局變量:

window == this這個Boolean等式,在不同的情況下的展現(xiàn)都不一樣的。

<!DOCTYPE html>
<html>
<head>
  <title></title>
</head>

<body>
<script type="text/javascript">
  function a() {
    console.log(window === this)
  }
  a();
</script>
</body>
</html>

這個時候的window === this打印出來的是true,這也就意味著this絕對等于window。

<!DOCTYPE html>
<html>
<head>
  <title></title>
</head>

<body>
<script type="text/javascript">
  'use strict'
  function a() {
    console.log(window === this)
  }
  a();
</script>
</body>
</html>

這個時候window === this返回回來的值卻是false, 而且打印出來的this是undefined的。

所以嚴格模式下面的代碼操作需要更加的規(guī)范和合理才可以的。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

最新評論