switch..case使用
生活随笔
收集整理的這篇文章主要介紹了
switch..case使用
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1、多個(gè)if...else連在一起使用的時(shí)候,可以轉(zhuǎn)為使用更方便的switch結(jié)構(gòu)。
switch (XXX) { case "aaa": // ... break; case "bbb": // ... break; default: // ... }
需要注意的是,每個(gè)case代碼塊內(nèi)部的break語(yǔ)句不能少,否則會(huì)接下去執(zhí)行下一個(gè)case代碼塊,而不是跳出switch結(jié)構(gòu)。
2、switch結(jié)構(gòu)不利于代碼重用,往往可以用對(duì)象形式重寫
function getItemPricing(customer, item) { switch(customer.type) { case 'VIP': return item.price * item.quantity * 0.50; case 'Preferred': return item.price * item.quantity * 0.75; case 'Regular': case default: return item.price * item.quantity; } }
上面代碼根據(jù)不同用戶,返回不同的價(jià)格。你可以發(fā)現(xiàn),switch語(yǔ)句包含的三種情況,內(nèi)部邏輯都是相同的,不同只是折扣率。這啟發(fā)我們可以用對(duì)象屬性,重寫這個(gè)判斷。 var pricing = {'VIP': 0.50, 'Preferred': 0.75, 'Regular': 1.0 }; function getItemPricing(customer, item) { if (pricing[customer.type]) return item.price * item.quantity * pricing[customer.type]; else return item.price * item.quantity * pricing.Regular; }
如果價(jià)格檔次再多一些,對(duì)象屬性寫法的簡(jiǎn)潔優(yōu)勢(shì)就更明顯了。
PS:干前端一年,至今停留在簡(jiǎn)單的if..else和for循環(huán)。看到這個(gè)switch的基礎(chǔ)講解,覺得自己實(shí)在是太low了。這么久了,一點(diǎn)編程思想都沒有養(yǎng)成呢。
參考網(wǎng)址:http://javascript.ruanyifeng.com/grammar/basic.html ?
switch (XXX) { case "aaa": // ... break; case "bbb": // ... break; default: // ... }
需要注意的是,每個(gè)case代碼塊內(nèi)部的break語(yǔ)句不能少,否則會(huì)接下去執(zhí)行下一個(gè)case代碼塊,而不是跳出switch結(jié)構(gòu)。
2、switch結(jié)構(gòu)不利于代碼重用,往往可以用對(duì)象形式重寫
function getItemPricing(customer, item) { switch(customer.type) { case 'VIP': return item.price * item.quantity * 0.50; case 'Preferred': return item.price * item.quantity * 0.75; case 'Regular': case default: return item.price * item.quantity; } }
上面代碼根據(jù)不同用戶,返回不同的價(jià)格。你可以發(fā)現(xiàn),switch語(yǔ)句包含的三種情況,內(nèi)部邏輯都是相同的,不同只是折扣率。這啟發(fā)我們可以用對(duì)象屬性,重寫這個(gè)判斷。 var pricing = {'VIP': 0.50, 'Preferred': 0.75, 'Regular': 1.0 }; function getItemPricing(customer, item) { if (pricing[customer.type]) return item.price * item.quantity * pricing[customer.type]; else return item.price * item.quantity * pricing.Regular; }
如果價(jià)格檔次再多一些,對(duì)象屬性寫法的簡(jiǎn)潔優(yōu)勢(shì)就更明顯了。
PS:干前端一年,至今停留在簡(jiǎn)單的if..else和for循環(huán)。看到這個(gè)switch的基礎(chǔ)講解,覺得自己實(shí)在是太low了。這么久了,一點(diǎn)編程思想都沒有養(yǎng)成呢。
參考網(wǎng)址:http://javascript.ruanyifeng.com/grammar/basic.html ?
轉(zhuǎn)載于:https://www.cnblogs.com/JiangM8/p/5731908.html
總結(jié)
以上是生活随笔為你收集整理的switch..case使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Django博客功能实现—文章评论功能
- 下一篇: 2016-08-05