摘要: var objectPoolFactory = function (createObjFn) { var objectPool = []; return { create: function () { var obj = objectPool.length ==... 阅读全文
posted @ 2017-03-03 17:04 乌梅 阅读(3202) 评论(0) 推荐(0) 编辑
摘要: 通过执行宏命令方式,可以一次执行一批命令。 阅读全文
posted @ 2017-03-02 17:09 乌梅 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 发布订阅模式又叫观察者模式,它定义一种一对多的依赖关系, 当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知。 发布--订阅模式的通用实现 防止全局命名冲突再重构。 阅读全文
posted @ 2017-03-01 17:07 乌梅 阅读(318) 评论(0) 推荐(0) 编辑
摘要: 缓存代理可以为一些开销大的运算结果提供暂时的存储,在下次运算的时候,传进来的参数跟上次是一致, 则可以直接返回前面存储的结果。 运行上面的代码我们发现,当第二次再调用proxyMult(1,2,3)的时候,mult函数没有计算, 而是直接返回之前缓存好的计算结果。 当我们实际使用过程中,会有很多需要 阅读全文
posted @ 2017-03-01 11:09 乌梅 阅读(582) 评论(0) 推荐(0) 编辑
摘要: 单例模式是保证一个类仅有一个实例,并提供一个访问它的全局访问点。 单例模式在现在面向对象的语言Java,C#,C++等等中也有很多用到,其实它在Javascript中使用同样非常广泛。 我们继续抽离代码,使之更为通用 我们把生成单例的逻辑抽离出来,将函数作为一个变量参数进行传入,这样以后只需要新建对 阅读全文
posted @ 2017-02-23 16:14 乌梅 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 在Javascript中没有提供原生的面向对象设计,但是可以通过使用闭包来实现一个完整的面向对象系统。 换成面向对象的写法就是 阅读全文
posted @ 2017-02-22 14:40 乌梅 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 利用闭包我们可以完成很多工作,下面这个比较经典的应用。 点击不同的Div会弹出对应的下标 经过测试你会发现上面的代码随便点击哪个Div都弹出4。这是因为onclick事件是异步触发的,当事件被触发的时候,for循环已经结束,此时的变量 i 已经变为4. 解决办法就是用到闭包将循环的i值都封闭起来。如 阅读全文
posted @ 2017-02-22 11:21 乌梅 阅读(261) 评论(0) 推荐(0) 编辑
摘要: ECMAScript 5中提供了Object.create()方法。 使用这个方法很容易克隆一个一模一样的对象。 当然有些比较旧的浏览器不支持ES5,可用下面代码替换: 阅读全文
posted @ 2017-02-21 15:51 乌梅 阅读(138) 评论(0) 推荐(0) 编辑
摘要: is(expr)函数判断当前Jquery对象所匹配的元素是否存在。只要其中一种符合,就返回 true,否则返回 false. 如果 expr是个字符串,既视为Jquery的选择器,用于表示选择的元素。 如果 expr是个函数,函数将根据所匹配的元素进行循环遍历。其中函数的this,指代当前迭代的元素 阅读全文
posted @ 2017-01-04 16:10 乌梅 阅读(387) 评论(0) 推荐(0) 编辑
摘要: 在上一章http://www.cnblogs.com/meiyh/p/6207671.html 我有提到javascript很重要的this关键字,现在我们结合这个关键字使用的下面的两个关键字: call(对象,参数...) apply(对象,[参数]) 以上代码我们来改成call和apply写法: 阅读全文
posted @ 2016-12-23 14:18 乌梅 阅读(624) 评论(0) 推荐(0) 编辑