淺談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";
}
解釋?zhuān)航裉觳皇侵芰蛘咧苋詹艜?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?新提案optional?chaining可選鏈屬性原理詳解
這篇文章主要為大家介紹了JavaScript?新提案optional?chaining可選鏈屬性原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05
Openlayers實(shí)現(xiàn)距離面積測(cè)量
這篇文章主要為大家詳細(xì)介紹了Openlayers實(shí)現(xiàn)距離面積測(cè)量,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-09-09
js實(shí)現(xiàn)頁(yè)面多個(gè)日期時(shí)間倒計(jì)時(shí)效果
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)頁(yè)面多個(gè)日期時(shí)間倒計(jì)時(shí)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06
JS函數(shù)節(jié)流和函數(shù)防抖問(wèn)題分析
這篇文章主要介紹了JS函數(shù)節(jié)流和函數(shù)防抖問(wèn)題分析,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-12-12
js腳本編寫(xiě)簡(jiǎn)單刷票投票系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了js腳本編寫(xiě)簡(jiǎn)單刷票投票系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
js實(shí)現(xiàn)字符全排列算法的簡(jiǎn)單方法
下面小編就為大家?guī)?lái)一篇js實(shí)現(xiàn)字符全排列算法的簡(jiǎn)單方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05
釘釘小程序web-view內(nèi)嵌H5頁(yè)面并實(shí)現(xiàn)通信
本文主要介紹了釘釘小程序web-view內(nèi)嵌H5頁(yè)面并實(shí)現(xiàn)通信,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05

