js前端策略者模式

Posted 灏月天染

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js前端策略者模式相关的知识,希望对你有一定的参考价值。

1.定义一系列的算法

2.将这些算法封装起来

3.可以让它们相互替换

const EmployeeA = function(){}
EmployeeA.prototype.calculate = function(salary){
return salary * 4;
}
const EmployeeB = function(){}
EmployeeB.prototype.calculate = function(salary){
return salary * 3;
}
const EmployeeC = function(){}
EmployeeC.prototype.calculate = function(salary){
return salary * 2;
}
const Bounds = function(){
this.salary = null;
this.levelObj = null;
}
Bounds.prototype.setSalary = function(salary){
this.salary = salary
}
Bounds.prototype.setLevelObj = function(levelObj){
this.levelObj = levelObj
}
Bounds.prototype.getBounds = function(){
return this.levelObj.calculate(this.salary)
}
const bounds = new Bounds();
bounds.setSalary(10000)
bounds.setLevelObj(new EmployeeA())
console.info(bounds.getBounds());

 

 注1.柯里化处理

     function currying(fn){

               let arr = [];

              return function cd(){

                    if(arguments.length == 0) fn.apply(this,arr);

                   Array.prototype.push.apply(arr,[].slice.call(arguments));

                    return cd

             }

     }

 注2.https://blog.csdn.net/song_mou_xia/article/details/80763833设计模式

以上是关于js前端策略者模式的主要内容,如果未能解决你的问题,请参考以下文章

前端JS跨域策略

前端设计模式之责任链模式

在 iPad Air 2 上分析前端 (js) 性能问题的策略

一道常被人轻视的前端JS面试题

一道常被人轻视的前端JS面试题

性能优化webpack前端构建性能优化策略小结