js设计模式-工厂模式
摘要:什么是工厂模式? 定义一个创建对象的接口,让这个接口决定实例化哪个对象 使用场景:需要依赖具体环境生成不同的类 1.简单工厂模式 接口类: function interface (){} //如果将工厂类的方法定义在此处,需要扩展的时候就会连同接口类一起改动,形成耦合 interface.proto
阅读全文
js设计模式-构造函数模式
摘要:1.简单的构造函数模式 function A(a){ this.a=a; this.fn = function(){ return this.a } } var a =new A('a'); 问题:每次新建一个实例都要重新定义fn方法 2.构造函数+原型模式 解决每次重新定义fn的问题,共享fn方法
阅读全文
js设计模式-单例模式
摘要:单例模式: 什么是单例模式:返回一个对象并且只有一个对象,并且获得该对象的方法。调用这个方法时如果该类引用存在则返回该引用,否则创建这类的实例,并赋值给该类引用 什么情况下用? 假如一个业务中需要一个遮罩层,和里面的一些交互效果,但是遮罩层不一定需要存在 利用闭包把这个遮罩层变量包含在内,第一次时创
阅读全文
为什么要用事件委托and 为什么移动端click事件要设计延迟
摘要:添加到页面的事件处理程序数量直接关系到页面的整体运行性能 1.每个函数都是对象,都会占用内存;内存中的对象越多,性能就越差,设置事件处理函数的时间更长。 2.事先指定所有事件处理程序而导致的Dom访问次数,会延迟整个页面的交互就绪时间。(访问次数越多,代码运行速度越慢) 每当将事件处理程序指定给元素
阅读全文