JavaScript框架设计

出版日期:2014-4-9
ISBN:9787115343586
作者:司徒正美
页数:445页

内容概要

钟钦成 网名司徒正美,著名的JavaScript专家,立志做考古学家的日语系工程师,穿梭于二次元与二进制间的“魔法师”,做过陶艺,写过小说,涉猎Java、Ruby、 JavaScript,3年成就此书!

书籍目录

目 录
第1章 种子模块 1
1.1 命名空间 1
1.2 对象扩展 3
1.3 数组化 4
1.4 类型的判定 6
1.5 主流框架引入的机制——domReady 14
1.6 无冲突处理 16
第2章 模块加载系统 18
2.1 AMD规范 18
2.2 加载器所在路径的探知 19
2.3 require方法 21
2.4 define方法 27
第3章 语言模块 31
3.1 字符串的扩展与修复 31
3.2 数组的扩展与修复 43
3.3 数值的扩展与修复 50
3.4 函数的扩展与修复 56
3.5 日期的扩展与修复 61
第4章 浏览器嗅探与特征侦测 64
4.1 判定浏览器 64
4.2 事件的支持侦测 67
4.3 样式的支持侦测 69
4.4 jQuery一些常用特征的含义 70
第5章 类工厂 72
5.1 JavaScript对类的支撑 72
5.2 各种类工厂的实现 77
5.2.1 相当精巧的库——P.js 77
5.2.2 JS.Class 80
5.2.3 simple-inheritance 82
5.2.4 体现JavaScript灵活性的库——def.js 84
5.3 es5属性描述符对OO库的冲击 88
第6章 选择器引擎 100
6.1 浏览器内置的寻找元素的方法 100
6.2 getElementsBySelector 102
6.3 选择器引擎涉及的知识点 106
6.4 选择器引擎涉及的通用函数 114
6.4.1 isXML 114
6.4.2 contains 115
6.4.3 节点排序与去重 117
6.4.4 切割器 121
6.4.5 属性选择器对于空白字符的匹配策略 123
6.4.6 子元素过滤伪类的分解与匹配 125
6.5 Sizzle引擎 127
第7章 节点模块 137
7.1 节点的创建 138
7.2 节点的插入 149
7.3 节点的复制 155
7.4 节点的移除 158
7.5 innerHTML、innerText与outerHTML的处理 161
7.6 一些奇葩的元素节点 164
7.6.1 iframe元素 164
7.6.2 object元素 174
7.6.3 video标签 179
第8章 数据缓存系统 185
8.1 jQuery的第1代缓存系统 185
8.2 jQuery的第2代缓存系统 190
8.3 mass Framework的第1代数据缓存系统 193
8.4 mass Framework的第2代数据缓存系统 196
8.5 mass Framework的第3代数据缓存系统 198
8.6 总结 199
第9章 样式模块 200
9.1 主体结构 201
9.2 样式名的修正 205
9.3 个别样式的特殊处理 206
9.3.1 opacity 206
9.3.2 user-select 208
9.3.3 background-position 208
9.3.4 z-index 209
9.3.5 盒子模型 210
9.3.6 元素的尺寸 211
9.3.7 元素的显隐 218
9.3.8 元素的坐标 222
9.4 元素的滚动条的坐标 228
第10章 属性模块 229
10.1 如何区分固有属性与自定义属性 231
10.2 如何判定浏览器是否区分固有属性与自定义属性 233
10.3 IE的属性系统的三次演变 234
10.4 className的操作 235
10.5 Prototype.js的属性系统 240
10.6 jQuery的属性系统 246
10.7 mass Framework的属性系统 249
10.8 value的操作 253
第11章 事件系统 256
11.1 onXXX绑定方式的缺陷 257
11.2 attachEvent的缺陷 258
11.3 addEventListener的缺陷 259
11.4 Dean Edward的addEvent.js源码分析 260
11.5 jquery1.8.2的事件模块概览 263
11.6 jQuery.event.add的源码解读 266
11.7 jQuery.event.remove的源码解读 269
11.8 jQuery.event.dispatch的源码解读 271
11.9 jQuery.event.trigger的源码解读 276
11.10 jQuery对事件对象的修复 280
11.11 滚轮事件的修复 286
11.12 mouseenter与mouseleave事件的修复 290
11.13 focusin与focusout事件的修复 293
11.14 旧版本IE下submit的事件代理的实现 295
11.15 oninput事件的兼容性处理 296
第12章 章异步处理 298
12.1 setTimeout与setInterval 299
12.2 Mochikit Deferred 301
12.3 JSDeferred 309
12.3.1 得到一个Deferred实例 310
12.3.2 Deferred链的实现 312
12.3.3 JSDeferred的并归结果 316
12.3.4 JSDeferred的性能提速 318
12.4 jQuery Deferred 321
12.5 Promise/A与mmDeferred 327
12.6 JavaScript异步处理的前景 334
第13章 数据交互模块 339
13.1 Ajax概览 339
13.2 优雅地取得XMLHttpRequest对象 339
13.3 XMLHttpRequest对象的事件绑定与状态维护 342
13.4 发送请求与数据 344
13.5 接收数据 346
13.6 上传文件 349
13.7 一个完整的Ajax实现 351
第14章 动画引擎 363
14.1 动画的原理 363
14.2 缓动公式 365
14.3 API的设计 368
14.4 mass Framework基于JavaScript的动画引擎 369
14.5 requestAnimationFrame 377
14.6 CSS3 transition 383
14.7 CSS3 animation 388
14.8 mass Framework基于CSS的动画引擎 390
第15章 插件化 398
15.1 jQuery的插件的一般写法 398
15.2 jQuery UI对内部类的操作 401
15.3 jQuery easy UI的智能加载与个别化制定 403
15.4 更直接地操作UI实例 406
第16章 MVVM 409
16.1 当前主流MVVM框架介绍 410
16.2 属性变化的监听 416
16.3 ViewModel 418
16.4 绑定 429
16.5 监控数组与子模板 437

作者简介

《JavaScript框架设计》是一本全面讲解JavaScript框架设计的图书,详细地讲解了设计框架需要具备的知识,主要包括的内容为:框架与库、JavaScript框架分类、JavaScript框架的主要功能、种子模块、模块加载系统、语言模块、浏览器嗅探与特征侦测、样式的支持侦测、类工厂、JavaScript对类的支撑、选择器引擎、浏览器内置的寻找元素的方法、节点模块、一些有趣的元素节点、数据缓存系统、样式模块、个别样式的特殊处理、属性模块、jQuery的属性系统、事件系统、异步处理、JavaScript异步处理的前景、数据交互模块、一个完整的Ajax实现、动画引擎、API的设计、插件化、当前主流MVVM框架介绍、监控数组与子模板等。


 JavaScript框架设计下载 精选章节试读 更多精彩书评



发布书评

 
 


精彩书评 (总计3条)

  •     这是一本全面讲解JavaScript框架设计的图书,详细地讲解了设计框架需要具备的知识,主要包括的内容为:框架与库、JavaScript框架分类、JavaScript框架的主要功能、种子模块、模块加载系统、语言模块、浏览器嗅探与特征侦测、样式的支持侦测、类工厂、JavaScript对类的支撑、选择器引擎、浏览器内置的寻找元素的方法、节点模块、一些有趣的元素节点、数据缓存系统、样式模块、个别样式的特殊处理、属性模块、jQuery的属性系统、事件系统、异步处理、JavaScript异步处理的前景、数据交互模块、一个完整的Ajax实现、动画引擎、API的设计、插件化、当前主流MVVM框架介绍、监控数组与子模板等。本书适合前端设计人员、JavaScript开发者、移动UI设计者、程序员和项目经理阅读,也可作为大中专院校相关专业的师生学习用书和培训学校的教材.《JavaScript框架设计》试读地址:http://vdisk.weibo.com/s/aQrMod2atgKdJ/1397022997
  •     一直很敬佩司徒正美,他写博客坚持了5年多,很敬佩他的毅力。这次在图书馆里见到这本书很激动,说实话也是冲着作者来借阅的,只是现在水平有限,还是先巩固好CSS吧,这本大作先默默地收藏起来了,以后再读。。。。。
  •     ================== 引用文章的链接 ====================page 31. 《编程语言伪简史》: http://james-iry.blogspot.co.at/2009/05/brief-incomplete-and-mostly-wrong.htmlpage 40. 数组洗牌算法:http://bost.ocks.org/mike/shuffle/page 70. 用于检测浏览器事件支持的方法:http://perfectionkills.com/detecting-event-support-without-browser-sniffing/page 73. 现代浏览器的一个新API,即CSS.supports,的使用及相关的polyfill:https://github.com/termi/CSS.supports================== 下面是勘误 ========================想用于评价此书编辑及作者的是:“一颗老鼠屎就可以毁掉一锅汤。”大部分内容不错,分析总结各框架的设计思路。但是,时不时就出现一些印刷错误、代码错误,瞬间就让好感打折扣。边读边整理一下发现的错误吧。我怀疑我买的是盗版的。在亚马逊文轩网店买的。。。【19页】原文:var src = document.querySelector ? node.src : node.getAttribute("src", 4);我不明白这里的参数4是怎么回事。据我说知,getAttribute 只有一个参数——打算查询的属性的名字。难道是为了处理某浏览器bug?【31页】最后一行,“endsWidth”应为“endsWith”。【38页】unescapeHTML() 方法的实现代码示例,直接又把escapeHTML() 的代码贴上去了。从司徒正美的源码中,看到应该是这样的:unescapeHTML: function(target) {//还原为可被文档解析的HTML标签return target.replace(/&quot;/g, '"').replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&amp;/g, "&") //处理转义的中文和实体字符.replace(/&#([\d]+);/g, function($0, $1) {return String.fromCharCode(parseInt($1, 10));});},【58页】第二行,“init”,应为“int”【70页】最后一行,“无难为力”应为“无能为力”。

精彩短评 (总计15条)

  •     学习js框架开发可参考!~
  •     写的挺好的啊。
  •     这本书属于Javascript提高级别读物,适合中高级前端阅读
  •     hack 方面比较全面,代码在详细一点就好了! 貌似有很多错字,第一页prototype就错了。。。
  •     框架研究者笔记。看了一些,看不太懂。Orz... 坚持!
  •     这本书错误,或者说笔误比较多。
  •     各种实现原理,各种黑魔法,绝对是一本好书!值得力荐~!!
  •     正妹的书 完全看不懂
  •     本书看过很久了,一直没标记为读过,作者以自己的经验来阐述一个JavaScript框架设计的方方面面。从大局上了解框架设计的基础。书本代码偏多,可以跳着看。
  •     卖弄多而引导少
  •     司徒正美写了很多框架方面的奇技淫巧,一些甚至以前都没听说过,但是这本书本身说不上实用。
  •     作者水平是有的,感觉看过好多库的源码,在书中列了一些库的源码及自己的改进。但是组织语言上没讲出来。这本书很像是一本集jquery,protype等库的部分源码打印版本。
  •     a little bit outdated
  •     虽然不知道到底是要说什么。好歹正妹力作。
  •     国内几乎没有专门讲解JavaScript框架方向的图书,力荐!
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024