首頁 >web前端 >前端問答 >JavaScript跳出方法有哪些

JavaScript跳出方法有哪些

青灯夜游
青灯夜游原創
2021-06-29 18:09:415412瀏覽

JavaScript跳出方法有:1、Break語句,可讓執行的程式立刻退出包含在最內層的循環或退出一個switch語句;2、Continue語句,可以終止目前循環,並進入下一次循環;3、Return語句,可中止目前函數的執行並傳回函數值。

JavaScript跳出方法有哪些

本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

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

Break語句:

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

Continue語句:

  • #continue語句和break語句相似。不同的是,它不是退出一個循環,而是開始循環的新迭代。
  • continue語句只能用在while語句、do/while語句、for語句、或者for/in語句的循環體內, 在其他地方使用都會引起錯誤?
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迴圈。下次繼續執行。
  • 至於輸出結果,還希望大家去列印一下。

Return語句:

return語句就是用來指定函數傳回的值。 return語句只能出現在函數體內,出現在程式碼中的其他地方造成語法錯誤!

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

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

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

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

<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為空時,就不會再向下執行,在一些表單提交中,也可以透過return false來阻止預設的提交方式,改用Ajax的提交方式,例如:

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

【相關推薦:javascript學習教學

以上是JavaScript跳出方法有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn