迭代器模式

作者:阿蒙 时间:2020-2-23 标签: 设计模式 分类: 设计模式笔记浏览数:1500

1. 内部迭代器模式。迭代器内部已全部实现了迭代逻辑,外部只需要一次初始调用即可。如forEach /* 内部迭代器 */ /* each */ let each = function (... 阅读全文

代理模式

作者:阿蒙 时间:2020-2-23 标签: 设计模式 分类: 设计模式笔记浏览数:1333

定义: 为一个对象提供一个代用品或者占位符,以便控制对它的访问。 保护代理: 过滤掉一些请求,用于控制不同权限的对象对目标目标对象的访问。 虚拟代理:把一些开销很大的对象延迟到真正需要同他的时候才去创建。 缓存代理:为一些开销很大操作提供... 阅读全文

策略模式

作者:阿蒙 时间:2020-2-21 标签: 设计模式 分类: 设计模式笔记浏览数:1374

定义:定义一系列的算法,把它们一个个封装起来,并且使他们可以相互替换。 阅读全文

单例模式

作者:阿蒙 时间:2020-2-21 标签: 设计模式 分类: 设计模式笔记浏览数:1345

定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点 var getSingle = function (fn) { var result; re... 阅读全文

this,call 和apply

作者:阿蒙 时间:2020-2-19 标签: JavaScript 分类: 设计模式笔记浏览数:1083

一. this this的指向 1. 作为对象的方法调用: this指向该对象。 2. 作为普通函数调用, this指向全局对象,在非严格模式浏览器端指向wind... 阅读全文

面向对象javascript

作者:阿蒙 时间:2020-2-19 标签: JavaScript 分类: 设计模式笔记浏览数:1159

1. 鸭子类型: 关注对象的具体行为,而不是对象本身。 比如当你需要听到鸭子叫的时候,如果有一只鸡的叫声像鸭子,那么这个时候它便是鸭子。 关注的是HAS-A 而不是IS-A、 2. 多态:将 “做什么” 和 “怎么做” 分开来、不必关注对象的类型。 3... 阅读全文