内容来自曾探,《JavaScript设计模式与开发实践》,P49 函数柯里化(function currying)又称部分求值。一个currying的函数首先会接受一些参数,接受了这些参数后,该函数并不会立即求值,而是继续返回另外一个函数,刚才传入的参数在函数形成的闭包里被保存起来。待到函数真正需要 ...
分类:
Web程序 时间:
2017-03-22 20:39:01
阅读次数:
222
重新看《JavaScript设计模式与开发实践》一书,第32页发现个简易版的Function.prototype.bind实现,非常容易理解,记录在这了。 原文也给了个完整版的实现,这儿就不写了。 ...
分类:
其他好文 时间:
2017-03-07 19:19:29
阅读次数:
194
2016.08.30 《JavaScript 设计模式与开发实践》 曾探 人民邮电出版社 2016年5月第1版 p13 找到变化的部分并封装之,以使得容易替换;而剩下的就是不变的部分。 P49 函数柯里化(currying)的作用是多次收集参数,然后作为数组传给处理函数再一次执行。 其意义在于预处理 ...
分类:
编程语言 时间:
2017-03-06 19:30:23
阅读次数:
232
最近在研读另外一本关于设计模式的书《JavaScript设计模式》,这本书中描述了更多的设计模式。 一、创建型设计模式 包括简单工厂、工厂方法、抽象工厂、建造者、原型和单例模式。 1)简单工厂 又叫静态工厂方法,由一个工厂对象决定创建某一种产品对象类的实例。 两种实现方式,第一种是通过类实例化对象创 ...
分类:
编程语言 时间:
2017-03-03 01:47:34
阅读次数:
243
在之前的JavaScript学习中,this,call,apply总是让我感到迷惑,但是他们的运用又非常的广泛。遂专门花了一天,来弄懂JavaScript的this,call,apply。中途参考的书籍也很多,以《JavaScript设计模式与开发实践》为主,《JavaScript高级程序设计》、《 ...
分类:
移动开发 时间:
2017-02-28 17:48:23
阅读次数:
260
什么是设计模式呢? 就是指对于类似的问题,我们可以用大致相同的思想、方法去解决之,而这种通用的思想、方法就是设计模式。学习设计模式可以帮助我们在遇到问题时迅速地搜索出一种清晰的思路来实现之。 第一部分: 面向对象的JavaScript 1. JavaScript是动态类型语言。 静态类型语言即强迫规 ...
分类:
编程语言 时间:
2017-02-26 17:38:24
阅读次数:
242
单例模式定义:保证一个类仅有有一个实例,并提供一个访问它的全局访问点。 应用场景:有一些对象只需要一个。如线程池、全局缓存、浏览器中的window对象等。 实现一: 实现一的缺点:增加了这个“类”的不透明性,使用者必须知道这是一个单例类,跟以往通过new的方式获取对象不同。 实现二: 实现二的缺点: ...
分类:
编程语言 时间:
2017-02-22 19:52:09
阅读次数:
247
观察者模式,又称发布-订阅模式或消息机制,定义了一种依赖关系,解决了主题对象与观察者之间功能的耦合。 通过运用观察者模式,可以解决团队开发中的模块间通讯问题,这是模块间解耦的一种可行方案。 首先,我们来把观察者对象创建处理,它有一个消息容器和三个方法,分别是订阅消息方法、发送订阅消息的方法和取消订阅 ...
分类:
编程语言 时间:
2017-02-20 22:34:16
阅读次数:
171
本文章所有内容均摘自《Javascript设计模式与开发实践》一书(有兴趣的可以购买),加入了一点点自己的理解,写这篇文章的目的是,加强自身对设计模式的理解,以及对于没有接触过这一块的入门者的参考。 阅读本章内容,需要具备Javascript面向对象的知识,否则阅读起来可能会些许困难。 设计模式 单 ...
分类:
编程语言 时间:
2017-02-19 12:19:25
阅读次数:
191
这里推荐一本设计模式的javascript书. 《JavaScript设计模式与开发实践》。作者是腾讯大牛曾探。 我每天都会在里面抽出我受到的理解,作为我的读书笔记。今天就昨天讲的this里面涉及到的call和apply进行书中的讲解。 Function.prototype.call 和 Funct ...
分类:
移动开发 时间:
2017-02-10 01:42:58
阅读次数:
139