《JavaScript编程实战》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(美)拉希著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2014
  • ISBN:9787115345486
  • 页数:308 页
图书介绍:JavaScript框架做了大量改进,VM也更快更新了,今天的JavaScript已成为客户端、服务器端和移动应用开发领域最强大的工具之一。本书介绍JavaScript高级技巧,具体内容包括:用Backbone.js创建富前端桌面和移动应用;用JavaScript模板管理复杂度;用Node.js和MongoDB进行事件驱动编程;等等。

第一部分 坚实的基础 2

第1章 最佳实践 2

1.1松耦合 2

1.1.1紧耦合的问题 2

1.1.2松耦合的优势 3

1.2 JavaScript MVC和模板 3

1.2.1 MVC 3

1.2.2模板 5

1.3开发工具 6

1.3.1 WebKit开发人员工具 6

1.3.2 Weinre 10

1.3.3版本控制 12

1.3.4 CSS预处理 12

1.4测试 12

1.4.1使用Grunt 13

1.4.2使用QUnit 17

1.5小结 20

1.6补充资源 21

第2章库、框架与插件 22

2.1选择恰当的JavaScript库 22

2.1.1 jQuery 22

2.1.2 Zepto 24

2.1.3普通的DOM 25

2.2使用框架 27

2.2.1 Bootstrap 27

2.2.2 jQuery UI 28

2.2.3移动框架 28

2.3其他脚本 28

2.3.1 Modemizr 28

2.3.2 HTML5 Shiv 29

2.4 HTML5样板 29

2.5寻找j Query插件 30

2.5.1去哪里(以及不要去哪里)找 30

2.5.2要找什么——一个十项检查列表 30

2.6小结 32

2.7补充资源 32

第二部分 构建前端 36

第3章Backbone.js 36

3.1初识Backbone 36

3.1.1 Backbone是什么 36

3.1.2为什么要用Backbone 36

3.1.3 Backbone基础 37

3.1.4什么时候用Backbone 37

3.1.5设置Backbone 38

3.2 Backbone中的模型 38

3.2.1创建一个模型 39

3.2.2创建计算属性 39

3.2.3设置默认值 39

3.2.4使用初始化函数 40

3.2.5使用Backbone事件 40

3.2.6模型的校验 41

3.3使用Backbone中的集合 42

3.3.1创建集合 42

3.3.2创建集合事件 43

3.4理解Backbone视图 43

3.4.1创建视图 44

3.4.2使用渲染函数 44

3.4.3使用Backbone中的视图元素 46

3.4.4使用嵌套视图 49

3.5数据的保存及获取 55

3.5.1与服务器上的模型同步 55

3.5.2在Backbone中使用LocalStorage API 58

3.5.3把集合保存在服务器上 59

3.5.4使用Backbone.sync 65

3.6使用路由控制器 66

3.6.1路由如何使用 66

3.6.2设置路由控制器 67

3.6.3 PushState与Hashchange 69

3.7再谈事件 70

3.7.1事件解绑定 71

3.7.2手动触发事件 71

3.7.3绑定“this” 71

3.7.4 All事件 72

3.8操作集合 73

3.8.1取出集合中的条目 73

3.8.2集合排序 74

3.9小结 76

3.10补充资源 77

第4章 使用JavaScript模板 78

4.1认识模板 78

4.1.1为什么使用模板 78

4.1.2了解不同的模板库 79

4.1.3做出正确的选择 80

4.2使用Underscore模板 81

4.2.1 Underscore模板基础知识 81

4.2.2重温模板的最佳实践 83

4.2.3在模板中使用JavaScript 85

4.3在Backbone中使用模板 88

4.3.1不用模板设置模型和视图 88

4.3.2用模板渲染视图 89

4.4小结 92

4.5补充资源 92

第5章 创建表单 93

5.1理解渐进式增强 93

5.1.1渐进式增强方式 93

5.1.2为什么要渐进式增强 94

5.1.3决定支持哪个环境 94

5.2让HTML5替你工作 95

5.2.1 HTML5的输入控件类型 95

5.2.2交互特性 102

5.3给老浏览器用Polyfiill 104

5.3.1寻找第三方Polyfiill 105

5.3.2编写自己的Polyfiill 105

5.4连接REST API 112

5.4.1提交表单 113

5.4.2构建通用函数 114

5.5 Backbone中的表单 115

5.5.1设置表单模型 115

5.5.2设置表单视图 116

5.5.3将表单域保存到模型中 117

5.5.4添加校验 118

5.5.5清理模板 123

5.5.6必填项 124

5.5.7提交表单 126

5.5.8合并代码 128

5.6小结 132

5.7补充资源 132

第三部分 编写服务器端JavaScript 136

第6章Node.js简介 136

6.1为什么是Node 136

6.1.1在实时程序中使用Node 136

6.1.2 Node的工作机制 137

6.2安装Node 138

6.2.1在Mac/Linux上安装 138

6.2.2在Windows上安装 139

6.2.3检查安装情况 140

6.3 Node入门 140

6.3.1创建服务器 140

6.3.2添加内容 141

6.3.3打包 141

6.3.4运行脚本 142

6.3.5简化脚本 143

6.3.6使用Node REPL 143

6.4 Node模块 145

6.4.1引入模块 145

6.4.2外部模块和NPM 146

6.4.3寻找模块 147

6.5 Node模式 148

6.5.1模块和全局变量 148

6.5.2异步模式 152

6.5.3事件 154

6.5.4子进程 155

6.6小结 158

6.7补充资源 158

第7章Express框架 160

7.1 Express入门 160

7.1.1安装Express 160

7.1.2创建Express程序 160

7.2设置路由 161

7.2.1已有路由 162

7.2.2创建新的路由 163

7.2.3 POST、PUT和DELETE 163

7.3渲染视图 164

7.3.1启用Underscore模板 164

7.3.2创建视图 166

7.4处理表单数据 172

7.4.1创建POST路由 172

7.4.2将反馈发给模板 173

7.5发封邮件 178

7.5.1连到SMTP服务器上 178

7.5.2构建Email消息 179

7.5.3发送邮件 179

7.5.4在结束之前 180

7.6小结 182

7.7补充资源 182

第8章MongoDB 184

8.1 NoSQL数据库有什么好处 184

8.1.1扩展能力 184

8.1.2简单性 184

8.2 MongoDB入门 185

8.2.1安装MongoDB 185

8.2.2运行MongoDB 186

8.2.3安装MongoDB模块 187

8.2.4创建数据库 187

8.3 MongoDB中的CRUD 188

8.3.1创建集合 188

8.3.2读取数据 190

8.3.3更新数据 194

8.3.4删除数据 196

8.4 Mongoose 197

8.4.1 Mongoose入门 197

8.4.2创建模型 198

8.4.3读取数据 200

8.5数据库上的其他选择 204

8.6小结 204

8.7补充资源 204

第四部分 挑战极限 208

第9章用WebSockets构建实时程序 208

9.1 WebSockets的工作机制 208

9.1.1轮询的问题 208

9.1.2 WebSockets方案 209

9.2 Socket.IO入门 210

9.2.1服务器上的Socket.IO 210

9.2.2客户端的Socket.IO 211

9.3构建实时的聊天室 212

9.3.1创建聊天室视图 212

9.3.2将消息提交给服务器 214

9.3.3在服务器端处理消息 215

9.3.4在客户端显示新消息 216

9.3.5添加Backbone.j s结构 217

9.3.6添加用户 223

9.3.7添加时间戳 225

9.3.8保存到MongoDB中 227

9.3.9合并代码 229

9.4小结 233

9.5补充资源 234

第10章 进入移动领域 235

10.1搭建移动App 235

10.1.1检测移动终端 235

10.1.2设置移动端网站的样式 237

10.1.3移动端框架 238

10.2集成触屏 238

10.2.1基本触摸事件 239

10.2.2复杂的触摸手势 239

10.3 Geolocation 248

10.3.1找到用户的位置 248

10.3.2连接Google地图 249

10.3.3追踪Geolocation的变化 251

10.4电话号码和短信 251

10.4.1静态的电话号码和SMS链接 251

10.4.2用JavaScript拨打电话和发送短信 252

10.5 PhoneGap 252

10.5.1 PhoneGap的优与劣 253

10.5.2 PhoneGap入门 254

10.5.3连接相机 254

10.5.4连接通讯录 254

10.5.5其他API 255

10.6小结 255

10.7补充资源 255

第11章JavaScript图形 257

11.1画布基础 257

11.1.1画出基本的形状 258

11.1.2让画布动起来 260

11.1.3画布中的鼠标事件 261

11.2 SVG基础 261

11.2.1让SVG动起来 262

11.2.2 SVG鼠标事件 262

11.2.3编码SVG 263

11.3 Raphael.js 263

11.3.1作画路径 264

11.3.2画曲线 265

11.3.3样式 266

11.3.4动画 268

11.3.5鼠标事件 269

11.4用gRaphael做图表 270

11.4.1饼图 270

11.4.2柱状图 271

11.4.3折线图 273

11.5带WebGL的3D画布 276

11.5.1 Three.js简介 276

11.5.2创建图像纹理 280

11.5.3 3D动画 281

11.5.4添加鼠标事件 282

11.5.5使用备选的2D画布 283

11.6 CSS中的3D变换 284

11.7小结 286

11.8补充资源 286

第12章 推出你的程序 288

12.1性能检查表 288

12.1.1重点在哪 288

12.1.2资源管理 290

12.1.3动画优化 291

12.1.4少做为妙 295

12.1.5规避回流 295

12.2部署 296

12.2.1把静态资源部署在CDN上 296

12.2.2把Node服务部署在EC2上 297

12.3推出 297

12.4补充资源 297

附录A用LESS做CSS预处理 299

A.1 LESS简介 299

A.1.1预处理的好处 299

A.1.2安装LESS编译器 300

A.1.3在服务器上编译 300

A.2 LESS的基础知识 300

A.2.1变量 300

A.2.2操作符 301

A.2.3嵌套 302

A.3函数和Mixin 304

A.3.1函数 304

A.3.2 Mixin 305

A.4文件结构 306

A.4.1使用Import 306

A.4.2文件结构示例 306

A.4.3定制结构 307

A.5小结 307

A.6补充资源 307