js 策略模式

2020-11-29  本文已影响0人  ads

将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快得多

上一篇下一篇

猜你喜欢

热点阅读