定义
把一些小的算法,封装起来,使他们之间可以相互替换(把代码的实现和使用分离开来)
理解
策略模式的使用场景和状态模式十分类似,都是在程序中有多个if判断语句,有多种状态需要选择,不同的是策略模式只需要获得对应判断的的执行语句,而不需要类似状态机制的状态切换,所以定义为小的算法的封装;
实现
var obj = {"A": function(salary) {return salary * 4;},"B" : function(salary) {return salary * 3;},"C" : function(salary) {return salary * 2;}};var calculateBouns =function(level,salary) {return obj[level](salary);};console.log(calculateBouns('A',10000)); // 40000
