将lf...else判断及处理定义为一个策略对象来代替
键为判断条件,值为函数,可带参
var strategy = {
'a':function(count){
return count*1;
},
'b':function(count){
return count*2;
},
'c':function(count){
return count*3;
}
}
//定义一个函数接收判断条件及参数
var calculate = function(level,count){
return strategy[level](count);//找到对应条件的函数并执行
}
console.log(calculate('a',1));//1
console.log(calculate('b',1));//2
对象键的匹配速度比if...else快得多
网友评论