javascript 设计模式2----策略模式

1、定义:定义一系类的算法,把它们一个个封装起来,并且使它们可以相互替换

2、解释:就是把算法和一个规则单独分封,在使用时单独调用。

简单例子:

 var strategies = {
        "S" : function (salary) {
            return salary * 4;
        },
        "A" : function (salary) {
            return salary * 3;
        },
        "B" : function (salary) {
            return salary * 2;
        }
    }
    var calculateBonus = function (level, salary) {
        return strategies[level](salary);
    };
    console.log(calculateBonus('S', 20000))

  我们也可以把表单验证封装起来:

   var strategies = {
       isNonEmpty : function (value, errorMsg) {
           if(value === ''){
               return errorMsg;
           }
       },
       minLenght : function (value, lenght, errorMsg) {
           if(value.length < lenght){
               return errorMsg;
           }
       }
   }

  

原文地址:https://www.cnblogs.com/chenjinxinlove/p/5874577.html