說到JavaScript中的分支結構,我們就不得不提到流程控制這個詞,我們所有的程序都是由數據和算法組成的。
程序=數據+算法
通常我們所說的算法都可以通過"順序","分支","循環"三種結構來組合完成。
在ECMA中規定了一些語句(也稱為流程控制語句,分支結構語句),從本質上來說,這些語句定義了ECMAScript中的主要語法,語句通常使用一個或者多個關鍵字來完成給定任務。
1.1 if 語句
if 語句- 只有當指定條件為true 時,使用該語句來執行代碼
if (條件) { 只有當條件為true 時執行的代碼}if...else 語句- 當條件為true 時執行代碼,當條件為false 時執行其他代碼
if (條件) { 當條件為true 時執行的代碼}else { 當條件不為true 時執行的代碼}if...else if....else 語句- 使用該語句來選擇多個代碼塊之一來執行
if (條件1){當條件1 為true 時執行的代碼}else if (條件2){當條件2 為true 時執行的代碼}else{當條件1 和條件2 都不為true 時執行的代碼}1.2 switch 語句
使用switch 語句來選擇要執行的多個代碼塊之一。
switch(n){case 1: 執行代碼塊1 break;case 2: 執行代碼塊2 break;default: n 與case 1 和case 2 不同時執行的代碼}工作原理:首先設置表達式n(通常是一個變量)。隨後表達式的值會與結構中的每個case 的值做比較。如果存在匹配,則與該case 關聯的代碼塊會被執行。請使用break 來阻止代碼自動地向下一個case 運行。
default 關鍵詞
請使用default 關鍵詞來規定匹配不存在時做的事情:
var day=new Date().getDay();switch (day){case 6: x="Today it's Saturday"; break;case 0: x="Today it's Sunday"; break;default: x="Looking forward to the Weekend";}解釋:今天不是周六或者周日才會執行的代碼段。
1.3 if 與switch 的比較
switch case vs else if switch case 僅用於等於比較的條件else if 可用任意條件if(Boolean(條件)) else if() 自帶隱式轉換,將條件轉為boolean 效率稍微低switch case 不帶隱式轉換的等於比較,效率稍微高
以上這篇淺談JavaScript中的分支結構就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。