JavaScript中的分支結構

来源:http://www.cnblogs.com/hanqingtao/archive/2016/06/30/5631232.html
-Advertisement-
Play Games

說到JavaScript中的分支結構,我們就不得不提到流程式控制制這個詞,我們所有的程式都是由數據和演算法組成的。程式=數據+演算法通常我們所說的演算法都可以通過"順序","分支","迴圈"三種結構來組合完成。 在ECMA中規定了一些語句(也稱為流程式控制制語句,分支結構語句),從本質上來說,這些語句定義了ECM ...


說到JavaScript中的分支結構,我們就不得不提到流程式控制制這個詞,我們所有的程式都是由數據和演算法組成的。
程式=數據+演算法
通常我們所說的演算法都可以通過"順序","分支","迴圈"三種結構來組合完成。

在ECMA中規定了一些語句(也稱為流程式控制制語句,分支結構語句),從本質上來說,這些語句定義了ECMAScript中的主要語法,語句通常使用一個或者多個關鍵字來完成給定任務。

1.1 if 語句

if 語句 - 只有當指定條件為 true 時,使用該語句來執行代碼

1 if (條件)
2   {
3   只有當條件為 true 時執行的代碼
4   }

if...else 語句 - 當條件為 true 時執行代碼,當條件為 false 時執行其他代碼

1 if (條件)
2   {
3   當條件為 true 時執行的代碼
4   }
5 else
6   {
7   當條件不為 true 時執行的代碼
8   }

if...else if....else 語句 - 使用該語句來選擇多個代碼塊之一來執行

 1 if (條件 1)
 2 {
 3 當條件 1 為 true 時執行的代碼
 4 }
 5 else if (條件 2)
 6 {
 7 當條件 2 為 true 時執行的代碼
 8 }
 9 else
10 {
11 當條件 1 和 條件 2 都不為 true 時執行的代碼
12 }

 

1.2 switch 語句

使用 switch 語句來選擇要執行的多個代碼塊之一。

 1 switch(n)
 2 {
 3 case 1:
 4   執行代碼塊 1
 5   break;
 6 case 2:
 7   執行代碼塊 2
 8   break;
 9 default:
10   n 與 case 1 和 case 2 不同時執行的代碼
11 }

工作原理:首先設置表達式 n(通常是一個變數)。隨後表達式的值會與結構中的每個 case 的值做比較。如果存在匹配,則與該 case 關聯的代碼塊會被執行。請使用 break 來阻止代碼自動地向下一個 case 運行。

default 關鍵詞
請使用 default 關鍵詞來規定匹配不存在時做的事情:

 1 var day=new Date().getDay();
 2 switch (day)
 3 {
 4 case 6:
 5   x="Today it's Saturday";
 6   break;
 7 case 0:
 8   x="Today it's Sunday";
 9   break;
10 default:
11   x="Looking forward to the Weekend";
12 }

解釋:今天不是周六或者周日才會執行的代碼段。

1.3 if 與 switch 的比較

switch case vs else if
     switch case 僅用於等於比較的條件
     else if 可用任意條件
     
     if(Boolean(條件)) else if()
       自帶隱式轉換,將條件轉為boolean
       效率稍微低
     switch case 
       不帶隱式轉換的等於比較,效率稍微高

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • IE10 和 Chrome50 對日期 new Date() 支持的區別: new Date('2016-06-18'); // IE10 不通過、Chrome 通過 new Date('2016/06/18'); // IE10 通過、Chrome 通過 ...
  • 如果left >= right或者bottom <= top,則元素會被完全裁掉而不可見,即“隱藏”。通過這種方式隱藏的元素是可以被屏幕閱讀器等輔助設備識別的,從而提高了頁面的可用性。 Img{position:absolute;clip:rect(top right bottom left)} ...
  • <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <style> .trans-fadeout{ -webkit-transition:all 1s linear; -moz-transition:al ...
  • 手機端web網頁項目 1,angluar js 1.4.6 網頁項目開發過程中,使用PC瀏覽器能正常訪問,IOS設備瀏覽器也能正常訪問,但是使用Android部分瀏覽器進行訪問的時候,鏈接偶爾不跳轉,點擊完沒有任何反應(本人使用angluar js route進行單頁面應用跳轉),此時地址欄的路徑已 ...
  • http://www.100sucai.com/tool/css3/#/css3-3D-transform ...
  • 以上內容轉自:網路愛上點擊 ...
  • 今天在學習js中的數組時,遇到的輸出一個數組中最大、最小值以及它們的下表,以下是自己的解決方法! <script type="text/javascript"> var arr = [14, 14, 53, 14, 14, 53, 67, 67]; var max = arr[0],min = ar ...
  • 一、理解web標準含義--為什麼採用web標準*****將內容與樣式分離1、web標準是一系列標準,就是一系列技術標準在使用時,是組合應用【1】、結構化內容 xhtml【2】、表現化內容 css【3】、行為化內容 JavaScript2、網頁開發的小工具--火狐瀏覽器中的firebug工具--附加組 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...