标签:一个 col form 实现 tle you column 算法 策略模式
策略模式的定义是:定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。
var calculateBonus = function( performanceLevel, salary ){
if ( performanceLevel === ‘S‘ ){
return salary * 4;
}
if ( performanceLevel === ‘A‘ ){
return salary * 3;
}
if ( performanceLevel === ‘B‘ ){
return salary * 2;
} };
calculateBonus( ‘B‘, 20000 ); // 输出:40000
calculateBonus( ‘S‘, 6000 ); // 输出:24000
// js实现
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 ) ); // 输出:80000
console.log( calculateBonus( ‘A‘, 10000 ) ); // 输出:30000
标签:一个 col form 实现 tle you column 算法 策略模式
原文地址:https://www.cnblogs.com/zandy/p/10006720.html