|
|
请马上登录,朋友们都在花潮里等着你哦:)
您需要 登录 才可以下载或查看,没有账号?立即注册
x
当条件分支很多,还去用 if ... else ... 判断语句去处理问题,不仅显得笨拙,还容易出错,再增加条件时代码就会更冗长。所以,三四个分支可以考虑 if ... else 或 switch 语句,更多分支的可以考虑使用其它解决方案。
最近网售一批仔猪,从一个月大到半岁的都有人预定。预定页面要在客户选好后给个预算总价,让客户心里有个数。页面运行的不错,但看了一下代码,用了大量的 switch 语句,虽然逻辑清晰,却看着不舒服。于是我试着这么改写:
function amount(month,total) {
let price = {
1: 100,
2: 120,
3: 180,
4: 240,
5: 300,
6:360,
};
return price[month] * total;
}
函数 amount 就是总价预算,需要两个参数:month,仔猪月龄,total,预定量。
假设客户选取 4 个月大的仔猪 50 头,5个月大的30头,则:
let money = amount(4,50) + amount(5,30);
console.log(money);
这将得出 21000 的结果。
技巧:amount 函数加入了对象 price,price 的每一个键值对巧妙利用仔猪月龄做 key,单价做值,然后通过对象的方法 单价乘以头数返回总价。这么做一方面代码简洁,另一方面修改容易(比如添加其他月龄的仔猪、改变单价等)。
|
评分
-
| 参与人数 3 | 威望 +130 |
金钱 +260 |
经验 +130 |
收起
理由
|
小辣椒
| + 50 |
+ 100 |
+ 50 |
赞一个! |
加林森
| + 30 |
+ 60 |
+ 30 |
很给力! |
红影
| + 50 |
+ 100 |
+ 50 |
赞一个! |
查看全部评分
|