精通JavaScript开发

出版日期:2015-9-30
ISBN:9787115402558
作者:Den Odell
页数:420页

内容概要

Den Odell 资深前端开发工程师,具有丰富的HTML、CSS和JavaScript编程经验,Web标准和可用性的积极推动者。作为数字服务机构AKQA的Web开发主管和前端技术架构师,他曾为法拉利、耐克和诺基亚等公司开发网站和富Internet应用。

书籍目录

第1章 面向对象的JavaScript  1
1.1 JavaScript中的对象  1
1.1.1 定制对象  1
1.1.2 类  2
1.2 代码规范和命名  22
1.2.1 规则1:使用描述性的名字  22
1.2.2 规则2:以小写字母开头  23
1.2.3 规则3:使用骆驼命名法来分割单词  23
1.2.4 规则4:全局常量使用全大写的名字  23
1.2.5 规则5:集中在一个语句中声明函数体的所有变量并将其置于函数体顶部  24
1.3 ECMAScript 5  26
1.3.1 JSON数据格式解析  27
1.3.2 严格模式  27
1.3.3 函数绑定  28
1.3.4 数组方法  29
1.3.5 对象方法  31
1.4 小结  34
第2章 JavaScript文档  35
2.1 行内和块级注释  35
2.2 结构化的JavaScript文档  36
2.3 YUIDoc文档格式  36
2.3.1 为“类”、构造器、属性和方法添加文档  37
2.3.2 为事件添加文档  45
2.3.3 为代码示例添加文档  45
2.3.4 其他YUIDoc文档标签  46
2.4 更具表达性的文档格式——Markdown  46
2.4.1 用标题来组织内容  46
2.4.2 换行以及创建段落  47
2.4.3 创建列表  48
2.4.4 强调文本  50
2.4.5 显示代码  51
2.4.6 添加引用  51
2.4.7 添加URL 链接  52
2.4.8 插入图片  53
2.4.9 生成水平分割线  53
2.4.10 用反斜杠来插入保留字符  53
2.4.11 对于其他内容,可以使用HTML  54
2.5 使用YUIDoc创建一个文档网站  54
2.6 小结  59
第3章 编写高质量的JavaScript  60
3.1 进行静态代码分析  60
3.1.1 JSLint  60
3.1.2 JSHint  64
3.1.3 Google Closure Compiler和Closure Linter  65
3.1.4 选择一个静态代码分析工具  66
3.2 JavaScript中的单元测试  67
3.2.1 JavaScript的单元测试框架  67
3.2.2 使用Jasmine来进行JavaScript单元测试  68
3.3 处理运行时错误  74
3.3.1 JavaScript的原生错误类型  75
3.3.2 将可能出错的代码放入try-catch语句中  75
3.3.3 检测错误类型  77
3.3.4 自定义错误类型  77
3.4 度量代码质量  79
3.4.1 单元测试的代码覆盖度  79
3.4.2 度量代码复杂度  81
3.5 小结  84
第4章 增强JavaScript性能  85
4.1 优化页面加载时间  85
4.1.1 HTML 标签顺序  85
4.1.2 JavaScript文件的GZip编码传输  85
4.1.3 缩编、混淆和编译  86
4.1.4 请求时才延迟加载JavaScript文件  90
4.2 优化文档对象的操作  91
4.2.1 实现对页面元素的最小化访问  92
4.2.2 尽量利用已有元素  92
4.2.3 离线DOM的利用  93
4.2.4 使用CSS而非JavaScript来操控页面样式  94
4.3 提升DOM 事件性能  95
4.3.1 委托事件至父元素  95
4.3.2 使用框架化处理频密发出的事件  96
4.4 提升函数性能  97
4.5 使用正则表达式实现更快速的字符串操作  100
4.6 更快速地使用数组  102
4.6.1 快速创建数组  103
4.6.2 快速进行数组循环  103
4.7 转移密集型任务至Web Worker  106
4.8 简单的性能测量  110
4.9 小结  111
第5章 设计模式:创建型  112
5.1 什么是设计模式  112
5.2 创建型设计模式  113
5.2.1 工厂模式  113
5.2.2 抽象工厂模式  116
5.2.3 生成器模式  120
5.2.4 原型模式  122
5.2.5 单例模式  124
5.3 小结  128
第6章 设计模式:结构型  129
6.1 适配器模式  129
6.2 组合模式  132
6.3 装饰模式  133
6.4 外观模式  135
6.5 享元模式  137
6.6 掺合模式  143
6.7 模块模式  147
6.8 代理模式  150
6.9 小结  153
第7章 设计模式:行为型  154
7.1 职责链模式  154
7.2 命令模式  157
7.3 迭代器模式  160
7.4 观察者模式  163
7.5 中介者模式  167
7.6 备忘录模式  171
7.7 承诺模式  173
7.8 策略模式  184
7.9 小结  188
第8章 设计模式:架构型  189
8.1 MVC模式  189
8.2 MVP模式  197
8.3 MVVM模式  203
8.4 架构型模式框架  208
8.5 小结  209
第9章 代码文件依赖管理  210
9.1 使用RequireJS进行代码文件依赖管理  210
9.2 加载、初始化RequireJS  215
9.3 模块名称的别名  217
9.4 内容分发网络和后备  217
9.5 建立模块  218
9.6 于请求时才加载额外的脚本  220
9.7 RequireJS代码优化工具  221
9.8 RequireJS的附加插件  221
9.9 RequireJS的代替品  222
9.10 小结  223
第10章 移动设备JavaScript开发  224
10.1 移动Web开发的局限性  224
10.1.1 电池续航能力  224
10.1.2 网络带宽速度与延时  225
10.1.3 板载内存容量  225
10.1.4 操作系统响应能力  226
10.2 通过JavaScript访问移动设备上的传感器  227
10.2.1 访问地理位置定位传感器  228
10.2.2 访问触摸传感器  230
10.2.3 访问姿态传感器和方向传感器  232
10.2.4 访问运动传感器  235
10.2.5 未能访问的传感器  237
10.2.6 事件框架化与传感器数据  237
10.2.7 利用传感器数据进一步发挥  238
10.3 网络连接故障与离线状态  238
10.3.1 在线与离线状态的检测  239
10.3.2 利用Web Storage API长期保存数据  241
10.3.3 HTML5 Application Cache  244
10.4 响应式(自适应)网页设计的JavaScript  246
10.5 小结  247
第11章 使用CanvasAPI创建游戏  248
11.1 在Canvas中的基本绘图操作  248
11.2 高清Canvas元素  251
11.3 使用Canvas制作游戏  251
11.3.1 在Canvas上绘制图像  252
11.3.2 Canvas中的动画  253
11.3.3 游戏的控制  254
11.3.4 碰撞检测  256
11.3.5 游戏主循环  257
11.3.6 分层Canvas以提高性能  258
11.4 在Canvas中制作Frogger游戏  258
11.5 小结  299
第12章 使用WebRTC实现视频聊天  300
12.1 WebRTC规范  300
12.2 访问网络摄像头和麦克风  300
12.3 建立一个简单的视频聊天网页应用程序  303
12.4 创建视频聊天客户端  307
12.5 小结  317
第13章 客户端模板引擎的使用  318
13.1 动态更新页面内容  318
13.2 通过Ajax动态加载HTML  319
13.3 在客户端应用模板  320
13.3.1 不依赖库实现客户端模板  321
13.3.2 使用Mustache.js模板引擎实现客户端模板  323
13.3.3 使用Handlebars.js引擎实现客户端模板  330
13.3.4 作为替换的其他客户端模板引擎库  341
13.4 考虑渐进增强  344
13.5 小结  345
第14章 Node.js应用平台  346
14.1 Node.js 安装  346
14.2 编写Node.js应用程序  347
14.2.1 console对象  348
14.2.2 加载模块  349
14.3 Node.js软件包  351
14.4 划分Node.js应用程序分布至多个文件  356
14.5 用于网页应用程序的Node.js框架  357
14.5.1 Express框架  357
14.5.2 Socket.IO  360
14.6 Node.js应用程序的托管  365
14.7 小结  365
第15章 构建工具及自动化  366
15.1 构建工具  366
15.1.1 Grunt——JavaScript任务运行器  367
15.1.2 Gulp.js——“流式”构建系统  374
15.1.3 使用构建工具来使常规任务实现自动化  377
15.2 第三方库和框架的管理  392
15.3 项目的建立以及基本框架搭建  393
15.4 小结  395
第16章 浏览器开发者工具  396
16.1 找出隐藏的浏览器开发者工具  396
16.2 JavaScript 控制台  398
16.2.1 输出信息到控制台窗口  398
16.2.2 使用控制台进行性能测量  400
16.2.3 移除引用console对象的代码以进行发布  401
16.3 对运行中的JavaScript Code进行调试  401
16.3.1 已缩编代码的处理  401
16.3.2 暂停并观察正在运行的JavaScript代码  403
16.4 分析JavaScript代码  405
16.4.1 查找内存泄漏  405
16.4.2 识别性能瓶颈  408
16.5 小结  410

作者简介

本书可以助你学习如何使用最新的浏览器API、语言特性和工具,来构建大型、结构良好、高质量、移动优化的网站和应用程序。通过本书易于上手的示例,开发人员能够:
掌握JavaScript的性能、可靠性、稳定性和代码可管理性;
理解并编写高效的面向对象和原型代码,包括充分理解this关键字;
提升JavaScript代码性能;
使用常见设计模式构建大型Web应用;
编写高质量JavaScript代码,避开容易引发错误的陷阱;
运用AMD和RequireJS管理代码依赖性;
为移动设备进行开发,创建游戏,使用现代API(如Geolocation、Canvas和WebRTC)实现实时视频聊天;
通过Node.js用JavaScript编写命令行和Web服务器应用;
使用构建工具(如Grunt和Gulp)使常规任务自动化,改进开发工作流。
本书是JavaScript实战指南,主要内容包括:JavaScript性能、可靠性、稳定性和代码管理分析,面向对象代码的使用,测试和错误处理机制的构建,用AMD和RequireJS管理代码依赖,移动端、游戏和实时通信的JavaScript开发,等等。


 精通JavaScript开发下载



发布书评

 
 


精彩短评 (总计1条)

  •     比犀牛书和高程薄了很多,分类较多,初级进阶看了觉得不错。
 

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

零度图书网 @ 2024