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
 

转载于:https://www.cnblogs.com/JiangM8/p/5731908.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值