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

时间:2022-02-19 19:16:47

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;
}
}
}