最近,闲来会看看《javascript设计模式》这本书,空闲时间我会把看到的写出来,和大家一起分享今天先来一个等待者模式。 等待者模式:通过对异步进程监听,来触发未来发生的动作 举例子:异步进程A,B,需要两个进程都完成以后才能进行C进程操作,这时可以使用等待者模式。 平时在开发中经常会这样,需要等 ...
分类:
其他好文 时间:
2016-09-20 19:40:52
阅读次数:
287
一、AOP(面向切面编程) 二、currying 函数柯里化 currying又称部分求值。过程中不进行求值进行数值的保持,在最后一步进行求值。 如: 输出结果600,在前3个函数调用的时候把值保持进数组,在最后一步进行数组求和。 三、uncurring 一个对象借用领另一个对象的方法或属性 将Ar ...
分类:
编程语言 时间:
2016-09-17 17:39:02
阅读次数:
210
1、定义:定义一系类的算法,把它们一个个封装起来,并且使它们可以相互替换 2、解释:就是把算法和一个规则单独分封,在使用时单独调用。 简单例子: 我们也可以把表单验证封装起来: ...
分类:
编程语言 时间:
2016-09-15 12:26:20
阅读次数:
155
1、借用构造函数 2、arguments增删元素 arguments虽然有“下标”,但并非真正的数组,如果进行增删元素,需要借用Array.prototype的一系列方法。 新增: 注:实现函数的方法的借用,需要满足两点:对象本身要可以存取属性,对象的Length属性可读写 ...
分类:
编程语言 时间:
2016-09-14 00:05:16
阅读次数:
131
假设也没有上有5个div节点,通过循环给每个div绑定onclick实现弹出对应的编号。代码如下: 运行后发现点击所有div都弹出6。原因是div节点onclick是异步触发的,触发的时候for循环早已结束,此时变量i的值是5。 解决办法就是采用闭包,修改下JS代码如下: 书上还有一个例子,Obje ...
分类:
编程语言 时间:
2016-09-14 00:04:09
阅读次数:
172
javascript设计模式 阅读目录 什么是设计模式 单体模式: 工厂模式: 单例模式 观察者模式(发布订阅模式) 策略模式 模板模式 代理模式 外观模式 设计模式太多了,貌似有23种,其实我们在平时的工作中没有必要特意去用什么样的设计模式,或者你在不经意间就已经用了设计模式当中的一种。本文旨在总 ...
分类:
编程语言 时间:
2016-09-14 00:03:26
阅读次数:
305
使用Function.prototype.bind来包装func函数 1、简化版的bind 2、含参数的bind 注: 1)arguments对象: arguments 对象并不是一个数组,访问单个参数的方式与访问数组元素的方式相同。 2)shift用法:用于把数组的第一个元素从其中删除,并返回第一 ...
分类:
编程语言 时间:
2016-09-13 22:21:42
阅读次数:
156
1、this的使用 1)作为对象的方法调用,this指的对象本身 2)作为普通函数调用,this指的是window对象 这里是变量getName引用myObject.getName方法。如果是myObject.getName(),会输出seven,这里是属于对象的属性调用。 3)构造器调用,this ...
分类:
编程语言 时间:
2016-09-13 18:56:08
阅读次数:
167
定义:保证一个类仅有一个实例,并提供一个访问的全局接口: 就是收:当我们 var a = new a(); var a1 = new a()是;a与a1是相等的。怎么实现呢,就是第一次实例化。第二不在实例,只是返回第一次的实例化: 附上通用的惰性单例思路: 一个书上的登录框的例子: 通用的惰性单例: ...
分类:
编程语言 时间:
2016-09-13 00:10:19
阅读次数:
170
设计模式太多了,貌似有23种,其实我们在平时的工作中没有必要特意去用什么样的设计模式,或者你在不经意间就已经用了设计模式当中的一种。本文旨在总结平时相对来说用的比较多的设计模式。 什么是设计模式 百度百科: 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码 ...
分类:
编程语言 时间:
2016-09-12 09:48:21
阅读次数:
231