switch..case使用
生活随笔
收集整理的這篇文章主要介紹了
switch..case使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、多個if...else連在一起使用的時候,可以轉為使用更方便的switch結構。
switch (XXX) { case "aaa": // ... break; case "bbb": // ... break; default: // ... }
需要注意的是,每個case代碼塊內部的break語句不能少,否則會接下去執行下一個case代碼塊,而不是跳出switch結構。
2、switch結構不利于代碼重用,往往可以用對象形式重寫
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; } }
上面代碼根據不同用戶,返回不同的價格。你可以發現,switch語句包含的三種情況,內部邏輯都是相同的,不同只是折扣率。這啟發我們可以用對象屬性,重寫這個判斷。 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; }
如果價格檔次再多一些,對象屬性寫法的簡潔優勢就更明顯了。
PS:干前端一年,至今停留在簡單的if..else和for循環。看到這個switch的基礎講解,覺得自己實在是太low了。這么久了,一點編程思想都沒有養成呢。
參考網址:http://javascript.ruanyifeng.com/grammar/basic.html ?
switch (XXX) { case "aaa": // ... break; case "bbb": // ... break; default: // ... }
需要注意的是,每個case代碼塊內部的break語句不能少,否則會接下去執行下一個case代碼塊,而不是跳出switch結構。
2、switch結構不利于代碼重用,往往可以用對象形式重寫
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; } }
上面代碼根據不同用戶,返回不同的價格。你可以發現,switch語句包含的三種情況,內部邏輯都是相同的,不同只是折扣率。這啟發我們可以用對象屬性,重寫這個判斷。 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; }
如果價格檔次再多一些,對象屬性寫法的簡潔優勢就更明顯了。
PS:干前端一年,至今停留在簡單的if..else和for循環。看到這個switch的基礎講解,覺得自己實在是太low了。這么久了,一點編程思想都沒有養成呢。
參考網址:http://javascript.ruanyifeng.com/grammar/basic.html ?
轉載于:https://www.cnblogs.com/JiangM8/p/5731908.html
總結
以上是生活随笔為你收集整理的switch..case使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Django博客功能实现—文章评论功能
- 下一篇: 2016-08-05