1、定义:定义一系类的算法,把它们一个个封装起来,并且使它们可以相互替换

2、解释:就是把算法和一个规则单独分封,在使用时单独调用。

简单例子:

 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))

  我们也可以把表单验证封装起来:

   var strategies = {
isNonEmpty : function (value, errorMsg) {
if(value === ''){
return errorMsg;
}
},
minLenght : function (value, lenght, errorMsg) {
if(value.length < lenght){
return errorMsg;
}
}
}

  

最新文章

  1. Java读取Level-1行情dbf文件极致优化(2)
  2. for+next()实现数组的遍历及while list each 的使用
  3. 洛谷P3371 【模板】单源最短路径
  4. 关于tomcat8在windows2008下高并发下问题的解决方案
  5. RSA加密解密及数字签名Java实现--转
  6. Hibernate学习笔记--第一个Hibernate框架程序
  7. PHP文件上传后缀名与文件类型对照表
  8. asp.net MVC 路由系统
  9. git二、基本使用
  10. Redis安装部署教程
  11. SFTP文件服务器的搭建
  12. 20165319第五周java学习笔记
  13. SQLSERVER 中sp_who, sp_who2和sp_who3(转载)
  14. axel命令 文件下载
  15. 2 模拟登录_Post表单方式(针对chinaunix有效,针对csdn失效,并说明原因)
  16. JavaScript---forEach( ) 、map( )和 filter()
  17. Rails生成随机字符串及加解密
  18. 固态硬盘(SSD) 和机 械硬盘(HDD) 优缺点比較
  19. SQL语句小练习
  20. Thanks for your encourage!

热门文章

  1. JPA入门例子(采用JPA的hibernate实现版本)
  2. 如何在maven工程中加载oracle驱动
  3. ping过程
  4. IOS第八天(5:UITableViewController新浪微博, 计算行高)
  5. Java的析构函数System的finalize()
  6. 在winform中添加普通右键菜单
  7. oracle重建控制文件
  8. Leetcode: Battleships in a Board
  9. C/C++ 结构体 函数传递
  10. H5 新标签用法及解释