码迷,mamicode.com
首页 > 其他好文 > 详细

5-策略模式

时间:2018-11-23 14:20:19      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:一个   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

 

5-策略模式

标签:一个   col   form   实现   tle   you   column   算法   策略模式   

原文地址:https://www.cnblogs.com/zandy/p/10006720.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!