Switch語(yǔ)句的技巧
概述
switch語(yǔ)句對(duì)一個(gè)表達(dá)式求值,將結(jié)果與 case 子語(yǔ)句比較,如果匹配,則從 case 處的語(yǔ)句向下執(zhí)行。
語(yǔ)法
break;語(yǔ)句是可選擇的,如果遇到break;則會(huì)跳出整個(gè)switch語(yǔ)句。如果沒(méi)有任何case匹配,則進(jìn)入到default:的分支。default:分支也是可選的。
switch (expression) { case value1: // 當(dāng) expression 的結(jié)果與 value1 匹配時(shí),從此處開(kāi)始執(zhí)行 statements1; [break;] case value2: // 當(dāng) expression 的結(jié)果與 value2 匹配時(shí),從此處開(kāi)始執(zhí)行 statements2; [break;] ... case valueN: // 當(dāng) expression 的結(jié)果與 valueN 匹配時(shí),從此處開(kāi)始執(zhí)行 statementsN; [break;] default: // 如果 expression 與上面的 value 值都不匹配時(shí),執(zhí)行此處的語(yǔ)句 statements_def; [break;] }
case中使用條件判斷
看看下面的代碼,當(dāng)foo為0,1,2,3的時(shí)候顯示alert。
var foo = 1; switch (foo) { case 0: case 1: case 2: case 3: alert('yes'); break; default: alert('not'); }
有沒(méi)有更好的寫(xiě)法呢?下面這個(gè)顯然更簡(jiǎn)潔清晰啊。
var foo = 1; switch (true) { // 非變量 TRUE 替代 foo case foo >= 0 && foo <= 3: alert('yes'); break; default: alert('not'); }
表示等級(jí)
精心設(shè)計(jì)的switch把_最少最稀有的條件_在上面,普通的條件放在相對(duì)下面的位置
function rankProgrammer(rank){ switch(rank){ case "高級(jí)": this.secretary = true; case "中級(jí)": this.laptop = true; this.bonus = true; case "初級(jí)": this.salary = true; this.vacation = true; } } var xiaohu=new rankProgrammer("高級(jí)"); console.log(xiaohu);
以上內(nèi)容給大家介紹了switch語(yǔ)句的技巧,希望對(duì)大家以上幫助。
相關(guān)文章
Swift如何調(diào)用Objective-C的可變參數(shù)函數(shù)詳解
這篇文章主要給大家介紹了關(guān)于Swift如何調(diào)用Objective-C的可變參數(shù)函數(shù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用swift具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2018-03-03swift語(yǔ)言AutoreleasePool原理及使用場(chǎng)景
這篇文章主要為大家介紹了swift語(yǔ)言AutoreleasePool原理及使用場(chǎng)景詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09swift4 使用DrawerController實(shí)現(xiàn)側(cè)滑菜單功能的示例代碼
這篇文章主要介紹了swift4 使用DrawerController實(shí)現(xiàn)側(cè)滑功能的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-06-06swift3.0 創(chuàng)建sqlite數(shù)據(jù)庫(kù)步驟方法
本篇文章主要介紹了swift3.0 創(chuàng)建sqlite數(shù)據(jù)庫(kù)步驟方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06Swift 3.0將UILabel數(shù)字顏色設(shè)置為紅色的方法
這篇文章主要介紹了關(guān)于在Swift中將UILabel數(shù)字顏色設(shè)置為紅色的方法,文中給出了詳細(xì)的示例代碼,相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-03-03Swift?Sequence?Collection使用示例學(xué)習(xí)
這篇文章主要為大家介紹了Swift?Sequence?Collection使用示例學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07Swift使用CoreData時(shí)遇到的一些填坑記錄
這篇文章主要給大家記錄了在Swift使用CoreData時(shí)遇到的一些坑,以及介紹了CoreData在Swift 3.0中的一點(diǎn)改變,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-12-12swift中defer幾個(gè)簡(jiǎn)單的使用場(chǎng)景詳解
在Swift 2.0中,Apple提供了defer關(guān)鍵字,讓我們可以實(shí)現(xiàn)同樣的效果,這篇文章主要介紹了關(guān)于swift中defer幾個(gè)簡(jiǎn)單的使用場(chǎng)景的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用defer具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧。2018-03-03swift中AnyObject和Any的介紹與區(qū)別詳解
雖然使用swift開(kāi)發(fā)了一段時(shí)間,但是感覺(jué)對(duì)一些基礎(chǔ)的東西了解不是比較透徹,在查詢了許多資料以后還是打算自己動(dòng)手記錄一下,下面這篇文章主要給大家介紹了關(guān)于swift中AnyObject和Any的介紹與區(qū)別的相關(guān)資料,需要的朋友可以參考下。2017-12-12