淺談JavaScript中的分支結(jié)構(gòu)
說(shuō)到JavaScript中的分支結(jié)構(gòu),我們就不得不提到流程控制這個(gè)詞,我們所有的程序都是由數(shù)據(jù)和算法組成的。
程序=數(shù)據(jù)+算法
通常我們所說(shuō)的算法都可以通過(guò)"順序","分支","循環(huán)"三種結(jié)構(gòu)來(lái)組合完成。
在ECMA中規(guī)定了一些語(yǔ)句(也稱為流程控制語(yǔ)句,分支結(jié)構(gòu)語(yǔ)句),從本質(zhì)上來(lái)說(shuō),這些語(yǔ)句定義了ECMAScript中的主要語(yǔ)法,語(yǔ)句通常使用一個(gè)或者多個(gè)關(guān)鍵字來(lái)完成給定任務(wù)。
1.1 if 語(yǔ)句
if 語(yǔ)句 - 只有當(dāng)指定條件為 true 時(shí),使用該語(yǔ)句來(lái)執(zhí)行代碼
if (條件) { 只有當(dāng)條件為 true 時(shí)執(zhí)行的代碼 }
if...else 語(yǔ)句 - 當(dāng)條件為 true 時(shí)執(zhí)行代碼,當(dāng)條件為 false 時(shí)執(zhí)行其他代碼
if (條件) { 當(dāng)條件為 true 時(shí)執(zhí)行的代碼 } else { 當(dāng)條件不為 true 時(shí)執(zhí)行的代碼 }
if...else if....else 語(yǔ)句 - 使用該語(yǔ)句來(lái)選擇多個(gè)代碼塊之一來(lái)執(zhí)行
if (條件 1) { 當(dāng)條件 1 為 true 時(shí)執(zhí)行的代碼 } else if (條件 2) { 當(dāng)條件 2 為 true 時(shí)執(zhí)行的代碼 } else { 當(dāng)條件 1 和 條件 2 都不為 true 時(shí)執(zhí)行的代碼 }
1.2 switch 語(yǔ)句
使用 switch 語(yǔ)句來(lái)選擇要執(zhí)行的多個(gè)代碼塊之一。
switch(n) { case 1: 執(zhí)行代碼塊 1 break; case 2: 執(zhí)行代碼塊 2 break; default: n 與 case 1 和 case 2 不同時(shí)執(zhí)行的代碼 }
工作原理:首先設(shè)置表達(dá)式 n(通常是一個(gè)變量)。隨后表達(dá)式的值會(huì)與結(jié)構(gòu)中的每個(gè) case 的值做比較。如果存在匹配,則與該 case 關(guān)聯(lián)的代碼塊會(huì)被執(zhí)行。請(qǐng)使用 break 來(lái)阻止代碼自動(dòng)地向下一個(gè) case 運(yùn)行。
default 關(guān)鍵詞
請(qǐng)使用 default 關(guān)鍵詞來(lái)規(guī)定匹配不存在時(shí)做的事情:
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"; }
解釋:今天不是周六或者周日才會(huì)執(zhí)行的代碼段。
1.3 if 與 switch 的比較
switch case vs else if switch case 僅用于等于比較的條件 else if 可用任意條件 if(Boolean(條件)) else if() 自帶隱式轉(zhuǎn)換,將條件轉(zhuǎn)為boolean 效率稍微低 switch case 不帶隱式轉(zhuǎn)換的等于比較,效率稍微高
以上這篇淺談JavaScript中的分支結(jié)構(gòu)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript跨瀏覽器獲取頁(yè)面中相同class節(jié)點(diǎn)的方法
這篇文章主要介紹了JavaScript跨瀏覽器獲取頁(yè)面中相同class節(jié)點(diǎn)的方法,本文講解使用getELementsByClassName函數(shù)解決這個(gè)需求,并給了一個(gè)開(kāi)源的getELementsByClassName函數(shù)實(shí)現(xiàn),功能更加強(qiáng)大,需要的朋友可以參考下2015-03-0320個(gè)非常有用的PHP類庫(kù) 加速php開(kāi)發(fā)
下面是一些非常有用的PHP類庫(kù),相信一定可以為你的WEB開(kāi)發(fā)提供更好和更為快速的方法。2010-01-01JavaScript回調(diào)(callback)函數(shù)概念自我理解及示例
此文適合JavaScript入門級(jí)選手閱讀,在JavaScript里什么叫Callback“回調(diào)函數(shù)”,把方法b當(dāng)做一個(gè)參數(shù)傳遞個(gè)方法a,當(dāng)方法a執(zhí)行完后執(zhí)行另外一個(gè)指定函數(shù)(這里是b函數(shù)),感興趣的朋友可以了解下哈2013-07-07js運(yùn)動(dòng)應(yīng)用實(shí)例解析
這篇文章主要針對(duì)js運(yùn)動(dòng)應(yīng)用進(jìn)行實(shí)例解析2015-12-12基于js實(shí)現(xiàn)checkbox批量選中操作
這篇文章主要為大家詳細(xì)介紹了基于js實(shí)現(xiàn)checkbox批量選中操作,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11