Practical JavaScript, DOM scripting, and Ajax projects
副标题:无
作 者:(美)Frank W. Zammetti著;张皛珏译
分类号:
ISBN:9787115189158
微信扫一扫,移动浏览光盘
简介
10个具体项目生动精彩,活学活用流行的JavaScript库,超级Web应用
,构建并不困难。
“本书并不像一本教材,畅读之后,你会觉得它就是一位讲课生动的老
师,带领你遨游JavaScript海洋。把你推向技术风浪的前沿,同时又给了你
一个功能完备的冲浪板,接下来就是你在风口浪尖上享受JavaScript高潮的
时候了。”
随着Ajax的兴起,JavaScript迅速地从改进网站的配角晋升为开发专业
级高质量应用的主角。成为了Web开发中不可缺少的一员。
本书主要通过10个具体项目,包括构建可扩展的JavaScript库、使用
GUI窗口小部件框架、开发支持拖放的购物车和编写JavaScript游戏等,讲
述JavaScript最佳实践、Ajax技术,以及一些流行的JavaScript库,如Rico
、Dojo、script.aculo.us、YUI等。读者在理解的基础上可以方便地将所
学知识应用到自己的项目中。书中项目也非常实用,读者可以直接参考利用
。
目录
第一部分 向我的小朋友javascript问好第1章 javascript简史. 2
1.1 javascript的问世 2
1.2 javascript的发展:出牙期的疼痛 4
1.2.1 但它是相同的代码:浏览器的不兼容 5
1.2.2 蜗牛和大象:javascript性能和内存问题 7
1.2.3 所有罪恶的根源:开发者! 11
1.2.4 dhtml——魔鬼的时髦词 13
1.3 进化还在继续:接近可用性 15
1.3.1 建立一个更好的窗口小部件:代码结构 15
1.3.2 重拾好习惯 17
1.4 终极进化:专业的javascript 17
1.4.1 浏览器 18
1.4.2 面向对象的javascript 19
1.4.3 “负责的”javascript:迹象和前兆 21
1.5 小结 22
第2章 成功的javascript开发者的7个习惯 23
2.1 更多面向对象的javascript 23
2.1.1 简单的对象创建 24
2.1.2 使用json创建对象 25
2.1.3 类的定义 26
.2.1.4 原型 26
2.1.5 你应该使用哪种方法呢 27
2.1.6 面向对象的好处 27
2.2 柔性衰减和不唐突的javascript 28
2.2.1 让javascript保持独立 28
2.2.2 允许柔性衰减 29
2.2.3 不要使用浏览器嗅探例程 32
2.2.4 不要写浏览器相关或者语言相关的javascript代码 32
2.2.5 合适的变量作用域 33
2.2.6 别用鼠标事件来触发需要的事件 34
2.3 并不只是为了秀:关注可访问性 35
2.4 当生活赐予你葡萄,就酿成酒吧:错误处理 35
2.5 当它并没有向正确的方向发展时:调试机制 38
2.6 让生活更加美好的浏览器扩展 40
2.6.1 firefox扩展 40
2.6.2 ie扩展 45
2.6.3 maxthon扩展:devart 48
2.7 javascript库 50
2.7.1 prototype 51
2.7.2 dojo 51
2.7.3 java web parts 52
2.7.4 script.aculo.us 53
2.7.5 yui库 53
2.7.6 mochikit 54
2.7.7 rico 54
2.7.8 mootools 55
2.8 小结 55
第二部分 项 目
第3章 hodgepodge:构建可扩展的javascript库 58
3.1 bill,菜鸟的一天 58
3.2 全面的代码组织 59
3.3 创建包 62
3.3.1 构建jscript.array包 62
3.3.2 构建jscript.browser包 64
3.3.3 构建jscript.datetime包 64
3.3.4 构建jscript.debug包 66
3.3.5 构建jscript.dom包 69
3.3.6 构建jscript.form包 72
3.3.7 构建jscript.lang包 76
3.3.8 构建jscript.math包 77
3.3.9 构建jscript.page包 77
3.3.10 构建jscript.storage包 79
3.3.11 构建jscript.string包 81
3.4 测试所有代码片段 87
3.5 练习 88
3.6 小结 88
第4章 calctron 3000:javascript计算器 89
4.1 计算器项目的需求和目标 89
4.2 calctron预览 89
4.3 rico特性 91
4.4 剖析calctron的解决方案 93
4.4.1 编写calctron.htm 93
4.4.2 编写styles.css 96
4.4.3 编写calctron.js 98
4.4.4 编写classloader.htm 101
4.4.5 编写mode.js 106
4.4.6 编写standard.json和standard.js 108
4.4.7 编写basecalc.json和basecalc.js 116
4.5 练习 121
4.6 小结 122
第5章 怪物混合:混搭 123
5.1 什么是混搭 123
5.2 怪物混搭的需求和目标 124
5.3 yahoo的api 124
5.3.1 yahoo maps地图服务 127
5.3.2 yahoo的注册 128
5.4 google的api 128
5.5 script.aculo.us特效 130
5.6 怪物混合(搭)的预览 133
5.7 剖析怪物混搭的解决方案 134
5.7.1 编写styles.css 135
5.7.2 编写mashup.htm 137
5.7.3 编写applicationstate.js 140
5.7.4 编写hotel.js 142
5.7.5 编写searchfuncs.js 143
5.7.6 编写masher.js 145
5.7.7 编写callbackfuncs.js 147
5.7.8 编写mapfuncs.js 150
5.7.9 编写miscfuncs.js 152
5.8 练习 153
5.9 小结 154
第6章 不要只考虑眼前:客户端的持久对象 155
6.1 通讯录的需求和目标 155
6.2 dojo特性 156
6.2.1 dojo和cookie 157
6.2.2 dojo窗口小部件和事件系统 159
6.2.3 本地共享对象和dojo存储系统.. 159
6.3 通讯录的预览 161
6.4 剖析通讯录的解决方案 163
6.4.1 编写styles.css 164
6.4.2 编写dojostyles.css 166
6.4.3 编写index.htm 167
6.4.4 编写goodbye.htm 174
6.4.5 编写eventhandlers.js 174
6.4.6 编写contact.js 178
6.4.7 编写contactmanager.js 181
6.4.8 编写datamanager.js 187
6.5 练习 192
6.6 小结 193
第7章 jsdigester:消除客户端xml的痛苦 194
7.1 在javascript中解析xml 194
7.2 jsdigester需求和目标 196
7.3 digester如何运转 197
7.4 剖析jsdigester的解决方案 199
7.4.1 编写测试代码 200
7.4.2 理解jsdigester的整体流程 205
7.4.3 编写jsdigester代码 205
7.4.4 编写规则类代码 212
7.5 练习 217
7.6 小结 218
第8章 做正确:javascript验证框架 219
8.1 jsvalidator需求和目标 219
8.2 怎么把它拔下来 220
8.3 prototype库 221
8.4 jsvalidator的预览 222
8.5 剖析jsvalidator的解决方案 226
8.5.1 编写index.htm 227
8.5.2 编写styles.css 228
8.5.3 编写jsv_config.xml 229
8.5.4 编写jsvalidatorobjects.js 232
8.5.5 编写jsvalidator.js 241
8.5.6 编写jsvalidatorbasic-validators.js 251
8.5.7 编写datevalidator.js 254
8.6 练习 256
8.7 小结 256
第9章 痴迷于窗口小部件:使用gui窗口小部件框架 257
9.1 jsnotes的需求和目标 257
9.2 yui库 258
9.3 jsnotes的预览 259
9.4 剖析jsnotes的解决方案 261
9.4.1 编写index.htm 261
9.4.2 编写styles.css 263
9.4.3 编写note.js 267
9.4.4 编写jsnote.js 267
9.5 练习 294
9.6 小结 295
第10章 支持拖放的购物车 296
10.1 购物车项目的需求和目标 296
10.2 柔性衰减,或者说在石器时代工作 297
10.3 mochikit库 299
10.4 仿真服务器技巧 301
10.5 购物车应用的预览 303
10.6 剖析购物车的解决方案 306
10.6.1 编写styles.css 306
10.6.2 编写index.htm 308
10.6.3 编写main.js 311
10.6.4 编写idx.htm 314
10.6.5 编写catalogitem.js 315
10.6.6 编写catalog.js 320
10.6.7 编写cartitem.js 321
10.6.8 编写cart.js 324
10.6.9 编写viewcart.htm 330
10.6.10 编写checkout.htm 333
10.6.11 编写mockserver.htm 334
10.7 练习 337
10.8 小结 337
第11章 休息时间:javascript游戏 338
11.1 k&g街机游戏的需求和目标 338
11.2 k&g街机游戏的预览 339
11.3 剖析k&g街机游戏的解决方案 341
11.3.1 编写index.htm 341
11.3.2 编写styles.css 345
11.3.3 编写gamestate.js 347
11.3.4 编写globals.js 348
11.3.5 编写 main.js 348
11.3.6 编写consolefuncs.js 354
11.3.7 编写keyhandlers.js 358
11.3.8 编写gamefuncs.js 360
11.3.9 编写minigame.js 363
11.3.10 编写title.js 364
11.3.11 编写gameselection.js 365
11.3.12 编写cosmicsquirrel.js 368
11.3.13 编写deathtrap.js 374
11.3.14 编写refluxive.js 381
11.4 练习 385
11.5 小结 386
第12章 ajax:客户端和服务器端相遇 387
12.1 聊天系统的需求和目标 387
12.2 “经典”的web模型 388
12.3 ajax 390
12.3.1 ajax思维的核心 391
12.3.2 可用性以及类似的考虑 392
12.3.3 ajax:一个需要大多数人转换的观念 393
12.3.4 ajax的“hello, world”例子 394
12.4 json 400
12.5 mootools 401
12.6 聊天应用的预览 402
12.7 剖析聊天系统的解决方案 404
12.7.1 编写supportchat.js 405
12.7.2 编写chatmessage.js 412
12.7.3 编写styles.css 415
12.7.4 编写index.htm和index_support.htm 416
12.7.5 编写chat.htm 418
12.7.6 编写goodby.htm 422
12.7.7 创建数据库 422
12.7.8 编写服务器代码 423
12.8 练习 436
12.9 小结... 436
1.1 javascript的问世 2
1.2 javascript的发展:出牙期的疼痛 4
1.2.1 但它是相同的代码:浏览器的不兼容 5
1.2.2 蜗牛和大象:javascript性能和内存问题 7
1.2.3 所有罪恶的根源:开发者! 11
1.2.4 dhtml——魔鬼的时髦词 13
1.3 进化还在继续:接近可用性 15
1.3.1 建立一个更好的窗口小部件:代码结构 15
1.3.2 重拾好习惯 17
1.4 终极进化:专业的javascript 17
1.4.1 浏览器 18
1.4.2 面向对象的javascript 19
1.4.3 “负责的”javascript:迹象和前兆 21
1.5 小结 22
第2章 成功的javascript开发者的7个习惯 23
2.1 更多面向对象的javascript 23
2.1.1 简单的对象创建 24
2.1.2 使用json创建对象 25
2.1.3 类的定义 26
.2.1.4 原型 26
2.1.5 你应该使用哪种方法呢 27
2.1.6 面向对象的好处 27
2.2 柔性衰减和不唐突的javascript 28
2.2.1 让javascript保持独立 28
2.2.2 允许柔性衰减 29
2.2.3 不要使用浏览器嗅探例程 32
2.2.4 不要写浏览器相关或者语言相关的javascript代码 32
2.2.5 合适的变量作用域 33
2.2.6 别用鼠标事件来触发需要的事件 34
2.3 并不只是为了秀:关注可访问性 35
2.4 当生活赐予你葡萄,就酿成酒吧:错误处理 35
2.5 当它并没有向正确的方向发展时:调试机制 38
2.6 让生活更加美好的浏览器扩展 40
2.6.1 firefox扩展 40
2.6.2 ie扩展 45
2.6.3 maxthon扩展:devart 48
2.7 javascript库 50
2.7.1 prototype 51
2.7.2 dojo 51
2.7.3 java web parts 52
2.7.4 script.aculo.us 53
2.7.5 yui库 53
2.7.6 mochikit 54
2.7.7 rico 54
2.7.8 mootools 55
2.8 小结 55
第二部分 项 目
第3章 hodgepodge:构建可扩展的javascript库 58
3.1 bill,菜鸟的一天 58
3.2 全面的代码组织 59
3.3 创建包 62
3.3.1 构建jscript.array包 62
3.3.2 构建jscript.browser包 64
3.3.3 构建jscript.datetime包 64
3.3.4 构建jscript.debug包 66
3.3.5 构建jscript.dom包 69
3.3.6 构建jscript.form包 72
3.3.7 构建jscript.lang包 76
3.3.8 构建jscript.math包 77
3.3.9 构建jscript.page包 77
3.3.10 构建jscript.storage包 79
3.3.11 构建jscript.string包 81
3.4 测试所有代码片段 87
3.5 练习 88
3.6 小结 88
第4章 calctron 3000:javascript计算器 89
4.1 计算器项目的需求和目标 89
4.2 calctron预览 89
4.3 rico特性 91
4.4 剖析calctron的解决方案 93
4.4.1 编写calctron.htm 93
4.4.2 编写styles.css 96
4.4.3 编写calctron.js 98
4.4.4 编写classloader.htm 101
4.4.5 编写mode.js 106
4.4.6 编写standard.json和standard.js 108
4.4.7 编写basecalc.json和basecalc.js 116
4.5 练习 121
4.6 小结 122
第5章 怪物混合:混搭 123
5.1 什么是混搭 123
5.2 怪物混搭的需求和目标 124
5.3 yahoo的api 124
5.3.1 yahoo maps地图服务 127
5.3.2 yahoo的注册 128
5.4 google的api 128
5.5 script.aculo.us特效 130
5.6 怪物混合(搭)的预览 133
5.7 剖析怪物混搭的解决方案 134
5.7.1 编写styles.css 135
5.7.2 编写mashup.htm 137
5.7.3 编写applicationstate.js 140
5.7.4 编写hotel.js 142
5.7.5 编写searchfuncs.js 143
5.7.6 编写masher.js 145
5.7.7 编写callbackfuncs.js 147
5.7.8 编写mapfuncs.js 150
5.7.9 编写miscfuncs.js 152
5.8 练习 153
5.9 小结 154
第6章 不要只考虑眼前:客户端的持久对象 155
6.1 通讯录的需求和目标 155
6.2 dojo特性 156
6.2.1 dojo和cookie 157
6.2.2 dojo窗口小部件和事件系统 159
6.2.3 本地共享对象和dojo存储系统.. 159
6.3 通讯录的预览 161
6.4 剖析通讯录的解决方案 163
6.4.1 编写styles.css 164
6.4.2 编写dojostyles.css 166
6.4.3 编写index.htm 167
6.4.4 编写goodbye.htm 174
6.4.5 编写eventhandlers.js 174
6.4.6 编写contact.js 178
6.4.7 编写contactmanager.js 181
6.4.8 编写datamanager.js 187
6.5 练习 192
6.6 小结 193
第7章 jsdigester:消除客户端xml的痛苦 194
7.1 在javascript中解析xml 194
7.2 jsdigester需求和目标 196
7.3 digester如何运转 197
7.4 剖析jsdigester的解决方案 199
7.4.1 编写测试代码 200
7.4.2 理解jsdigester的整体流程 205
7.4.3 编写jsdigester代码 205
7.4.4 编写规则类代码 212
7.5 练习 217
7.6 小结 218
第8章 做正确:javascript验证框架 219
8.1 jsvalidator需求和目标 219
8.2 怎么把它拔下来 220
8.3 prototype库 221
8.4 jsvalidator的预览 222
8.5 剖析jsvalidator的解决方案 226
8.5.1 编写index.htm 227
8.5.2 编写styles.css 228
8.5.3 编写jsv_config.xml 229
8.5.4 编写jsvalidatorobjects.js 232
8.5.5 编写jsvalidator.js 241
8.5.6 编写jsvalidatorbasic-validators.js 251
8.5.7 编写datevalidator.js 254
8.6 练习 256
8.7 小结 256
第9章 痴迷于窗口小部件:使用gui窗口小部件框架 257
9.1 jsnotes的需求和目标 257
9.2 yui库 258
9.3 jsnotes的预览 259
9.4 剖析jsnotes的解决方案 261
9.4.1 编写index.htm 261
9.4.2 编写styles.css 263
9.4.3 编写note.js 267
9.4.4 编写jsnote.js 267
9.5 练习 294
9.6 小结 295
第10章 支持拖放的购物车 296
10.1 购物车项目的需求和目标 296
10.2 柔性衰减,或者说在石器时代工作 297
10.3 mochikit库 299
10.4 仿真服务器技巧 301
10.5 购物车应用的预览 303
10.6 剖析购物车的解决方案 306
10.6.1 编写styles.css 306
10.6.2 编写index.htm 308
10.6.3 编写main.js 311
10.6.4 编写idx.htm 314
10.6.5 编写catalogitem.js 315
10.6.6 编写catalog.js 320
10.6.7 编写cartitem.js 321
10.6.8 编写cart.js 324
10.6.9 编写viewcart.htm 330
10.6.10 编写checkout.htm 333
10.6.11 编写mockserver.htm 334
10.7 练习 337
10.8 小结 337
第11章 休息时间:javascript游戏 338
11.1 k&g街机游戏的需求和目标 338
11.2 k&g街机游戏的预览 339
11.3 剖析k&g街机游戏的解决方案 341
11.3.1 编写index.htm 341
11.3.2 编写styles.css 345
11.3.3 编写gamestate.js 347
11.3.4 编写globals.js 348
11.3.5 编写 main.js 348
11.3.6 编写consolefuncs.js 354
11.3.7 编写keyhandlers.js 358
11.3.8 编写gamefuncs.js 360
11.3.9 编写minigame.js 363
11.3.10 编写title.js 364
11.3.11 编写gameselection.js 365
11.3.12 编写cosmicsquirrel.js 368
11.3.13 编写deathtrap.js 374
11.3.14 编写refluxive.js 381
11.4 练习 385
11.5 小结 386
第12章 ajax:客户端和服务器端相遇 387
12.1 聊天系统的需求和目标 387
12.2 “经典”的web模型 388
12.3 ajax 390
12.3.1 ajax思维的核心 391
12.3.2 可用性以及类似的考虑 392
12.3.3 ajax:一个需要大多数人转换的观念 393
12.3.4 ajax的“hello, world”例子 394
12.4 json 400
12.5 mootools 401
12.6 聊天应用的预览 402
12.7 剖析聊天系统的解决方案 404
12.7.1 编写supportchat.js 405
12.7.2 编写chatmessage.js 412
12.7.3 编写styles.css 415
12.7.4 编写index.htm和index_support.htm 416
12.7.5 编写chat.htm 418
12.7.6 编写goodby.htm 422
12.7.7 创建数据库 422
12.7.8 编写服务器代码 423
12.8 练习 436
12.9 小结... 436
Practical JavaScript, DOM scripting, and Ajax projects
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×