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