策略模式指的是定義一系列的算法,把它們一個個封裝起來。將不變的部分和變化的部分隔開是每個設計模式的主題,策略模式也不例外,策略模式的目的就是將算法的使用與算法的實現分離開來。可以很好的替換if-else混亂的代碼.
var strategies = {
'S':function(salary){
return salary * 4;
},
'A':function(salary){
return salary * 3;
},
'B':function(salary){
return salary * 2;
}
}
var calcalateBonus = function(level,salary){
return strategies[level](salary);
}
console.log(calcalateBonus('S',10000));