摘要: 1. HTML5 的文档类型声明可以触发所有具备标准模式的浏览器的标准模式,包括那些对 HTML5 一无所知的浏览器,也就是说,可以在任何网页中都使用 HTML5 文档类型声明 如果没有文档类型声明,大多数浏览器将转换到混杂模式。 2. 为文档添加字符编码 。 3. 指定网页中使用的自然语言 ... 阅读全文
posted @ 2015-11-11 15:50 微日月 阅读(498) 评论(0) 推荐(0) 编辑
摘要: 1. JS 中不存在块级作用域,也就是说在全局作用域下 if ,for 语句中用 var 声明的变量是全局变量。 2. JS 中浮点数运算的值为近似值,比如:0.1 + 0.2 不等于 0.3 ,所以避免使用浮点数来进行比较。 3. NaN != NaN ,NaN == undefined ,NaN... 阅读全文
posted @ 2015-10-31 15:34 微日月 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 状态模式是一种非同寻常的优秀模式,它也许是解决某些需求场景的最好方法。虽然状态模式并不是一种简单到一目了然的模式(它往往还会带来代码量的增加),但你一旦明白了状态模式的精髓,以后一定会感谢它带给你的无与伦比的好处。 状态模式的关键是区分事物内部的状态,事物内部的状态往往会带来事物的行为改变。 ... 阅读全文
posted @ 2015-10-25 23:27 微日月 阅读(553) 评论(0) 推荐(0) 编辑
摘要: 在程序开发中,许多时候都并不希望某个类天生就非常庞大,一次性包含许多职责。那么我们就可以使用装饰者模式。装饰者模式可以动态地给某个对象添加一些额外的职责,而不会影响这个类中派生的其他对象。 在传统面向对象语言中,给对象添加功能常常使用继承的方式,但是继承的方式并不灵活,还会带来许多问题:一方面会... 阅读全文
posted @ 2015-10-24 21:54 微日月 阅读(567) 评论(0) 推荐(0) 编辑
摘要: 在我们的生活的世界中,每个人每个物体之间都会产生一些错综复杂的联系。在应用程序里也是一样,程序由大大小小的单一对象组成,所有这些对象都按照某种关系和规则来通信。 平时我们大概能记住 10 个朋友的电话,30 家餐馆的位置(打比方)。在程序里,也许一个对象会和其他 10 个对象打交道,所以它会保持 1... 阅读全文
posted @ 2015-10-23 17:21 微日月 阅读(340) 评论(0) 推荐(0) 编辑
摘要: 职责链模式的定义是:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系,将这些对象连成一条链,并沿着这条链传递该请求,知道有一个对象处理它为止。 职责链模式的名字非常形象,一系列可能会处理请求的对象被连接成一条链,请求在这些对象之间依次传递,直到遇到一个可以处理它的对象,我们... 阅读全文
posted @ 2015-10-21 16:12 微日月 阅读(469) 评论(0) 推荐(0) 编辑
摘要: 亨元(flyweight)模式是一种用于性能优化的模式, “fly” 在这里是苍蝇的意思,以为蝇量级。亨元模式的可行是运用共享技术来有效支持大量细粒度的对象。 如果系统中因为创建了大量类似的对象而导致内存占用过高,亨元模式就非常有用了。在 JavaScrip t中,浏览器特别是移动端的浏览器分配的内... 阅读全文
posted @ 2015-10-20 19:47 微日月 阅读(654) 评论(0) 推荐(1) 编辑
摘要: 在JavaScript开发中用到集成的场景其实并不是很多,衡多时候我们都喜欢用mix in(混入)的方式给对象扩展属性。但这不代表继承在JavaScript里没有用武之地,虽然没有真正的类和继承机制,但我们可以通过原型prototype来变相地实现继承。 不过本章并非要讨论继承,而是讨论一种基于... 阅读全文
posted @ 2015-10-18 17:43 微日月 阅读(593) 评论(0) 推荐(0) 编辑
摘要: 1. 回顾宏命令我们在 "命令模式" 中讲解过宏命令的结构和作用。宏命令对象包含了一组具体的子命令对象,不管是宏命令对象,还是子命令对象,都有一个execute方法负责执行命令。现在回顾一下这段安装在万能遥控器上的宏命令代码。 var closeDoorCommand = { execute: f... 阅读全文
posted @ 2015-10-17 16:27 微日月 阅读(1235) 评论(0) 推荐(0) 编辑
摘要: 命令模式 假设有一个快餐店,而我是该快餐店的点餐服务员,那么我一天的工作应该是这样的:当某位客人点餐或者打来订餐电话后,我会把他的需求都写在清单上,然后交给厨房,客人不用关心的是哪些厨师帮他炒菜。我们餐厅还可以满足客人需要的定时服务,比如客人可能当前正在回家的路上,要求一个小时后才开始炒他的菜,... 阅读全文
posted @ 2015-10-12 08:47 微日月 阅读(2661) 评论(0) 推荐(0) 编辑