注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计网络编程Java Script高级程序设计

Java Script高级程序设计

Java Script高级程序设计

定 价:¥59.00

作 者: (美)扎卡斯(Nicholas C.Zakas) 著;曹力,等 译
出版社: 人民邮电出版社
丛编项: 国灵程序设计丛书
标 签: 高级编程

ISBN: 9787115152091 出版时间: 2006-11-01 包装: 平装
开本: 16开 页数: 616 字数:  

内容简介

  JavaScript是目前Web客户端开发的主要编程语言,也是Ajax的核心技术之一。本书从最早期Netscape浏览器中的JavaScript开始讲起,直到当前它对XML和Web服务的具体支持,内容主要涉及JavaScript的语言特点、JavaScript与浏览器的交互、更高级的JavaScript技巧,以及与在Web应用程序中部署JavaScript解决方案有关的问题,如错误处理、调试、安全性、优化/混淆化、XML和Web服务,最后介绍应用所有这些知识来创建动态用户界面。本书适合有一定编程经验的开发人员阅读,也可作为高校相关专业课程的教材。

作者简介

  Nicholas C.Zakas世界知名的JavaScript专家和Web开发人员。Nicholas拥有丰富的Web开发和界面设计经验,曾经参与许多世界大公司的Web解决方案开发,并与他人合作撰写了畅销书《Ajax高级程序设计》。

图书目录

第1章  JavaScript是什么    1
1.1  历史简述    1
1.2  JavaScript实现    2
1.2.1  ECMAScript    3
1.2.2  DOM    5
1.2.3  BOM    8
1.3  小结    8
第2章  ECMAScript基础    9
2.1  语法    9
2.2  变量    10
2.3  关键字    12
2.4  保留字    12
2.5  原始值和引用值    13
2.6  原始类型    13
2.6.1  typeof运算符    14
2.6.2  Undefined类型    14
2.6.3  Null类型    15
2.6.4  Boolean类型    15
2.6.5  Number类型    15
2.6.6  String类型    17
2.7  转换    18
2.7.1  转换成字符串    18
2.7.2  转换成数字    19
2.7.3  强制类型转换    20
2.8  引用类型    22
2.8.1  Object类    22
2.8.2  Boolean类    23
2.8.3  Number类    23
2.8.4  String类    24
2.8.5  instanceof运算符    28
2.9  运算符    28
2.9.1  一元运算符    28
2.9.2  位运算符    32
2.9.3  Boolean运算符    37
2.9.4  乘性运算符    40
2.9.5  加性运算符    41
2.9.6  关系运算符    42
2.9.7  等性运算符    43
2.9.8  条件运算符    45
2.9.9  赋值运算符    45
2.9.10  逗号运算符    46
2.10  语句    46
2.10.1  if语句    46
2.10.2  迭代语句    47
2.10.3  有标签的语句    48
2.10.4  break语句和continue
语句    48
2.10.5  with语句    50
2.10.6  switch语句    50
2.11  函数    51
2.11.1  无重载    53
2.11.2  arguments对象    53
2.11.3  Function类    54
2.11.4  闭包    56
2.12  小结    57
第3章  对象基础    58
3.1  面向对象术语    58
3.1.1  面向对象语言的要求    58
3.1.2  对象的构成    59
3.2  对象应用    59
3.2.1  声明和实例化    59
3.2.2  对象引用    59
3.2.3  对象废除    59
3.2.4  早绑定和晚绑定    60
3.3  对象的类型    60
3.3.1  本地对象    60
3.3.2  内置对象    70
3.3.3  宿主对象    75
3.4  作用域    75
3.4.1  公用、受保护和私有作用域    75
3.4.2  静态作用域并非静态的    76
3.4.3  关键字this    76
3.5  定义类或对象    78
3.5.1  工厂方式    78
3.5.2  构造函数方式    80
3.5.3  原型方式    80
3.5.4  混合的构造函数/原型方式    81
3.5.5  动态原型方法    82
3.5.6  混合工厂方式    83
3.5.7  采用哪种方式    84
3.5.8  实例    84
3.6  修改对象    86
3.6.1  创建新方法    86
3.6.2  重定义已有方法    87
3.6.3  极晚绑定    88
3.7  小结    88
第4章  继承    89
4.1  继承机制实例    89
4.2  继承机制的实现    90
4.2.1  继承的方式    90
4.2.2  一个更实际的例子    96
4.3  其他继承方式    100
4.3.1  zInherit    100
4.3.2  xbObjects    104
4.4  小结    108
第5章  浏览器中的JavaScript    109
5.1  HTML中的JavaScript    109
5.1.1  <script/>标签    109
5.1.2  外部文件格式    110
5.1.3  内嵌代码和外部文件    111
5.1.4  标签放置    111
5.1.5  隐藏还是不隐藏    113
5.1.6  <noscript/>标签    113
5.1.7  XHTML中的改变    114
5.2  SVG中的JavaScript    116
5.2.1  SVG基础    116
5.2.2  SVG中的<script/>标签    117
5.2.3  SVG中的标签放置    118
5.3  BOM    119
5.3.1  window对象    119
5.3.2  document对象    130
5.3.3  location对象    133
5.3.4  navigator对象    135
5.3.5  screen对象    136
5.4  小结    137
第6章  DOM基础    138
6.1  什么是DOM?    138
6.1.1  XML简介    138
6.1.2  针对XML的API    141
6.1.3  节点的层次    141
6.1.4  特定语言的DOM    144
6.2  对DOM的支持    145
6.3  使用DOM    145
6.3.1  访问相关的节点    145
6.3.2  检测节点类型    146
6.3.3  处理特性    147
6.3.4  访问指定节点    148
6.3.5  创建和操作节点    150
6.4  HTML DOM特征功能    155
6.4.1  让特性像属性一样    155
6.4.2  table方法    156
6.5  遍历DOM    158
6.5.1  NodeIterator    158
6.5.2  TreeWalker    163
6.6  测试与DOM标准的一致性    165
6.7  DOM Level 3    166
6.8  小结    166
第7章  正则表达式    167
7.1  正则表达式支持    167
7.1.1  使用RegExp对象    168
7.1.2  扩展的字符串方法    169
7.2  简单模式    170
7.2.1  元字符    170
7.2.2  使用特殊字符    170
7.2.3  字符类    172
7.2.4  量词    174
7.3  复杂模式    177
7.3.1  分组    177
7.3.2  反向引用    178
7.3.3  候选    179
7.3.4  非捕获性分组    180
7.3.5  前瞻    181
7.3.6  边界    182
7.3.7  多行模式    183
7.4  理解RegExp对象    184
7.4.1  实例属性    184
7.4.2  静态属性    185
7.5  常用模式    186
7.5.1  验证日期    187
7.5.2  验证信用卡号    188
7.5.3  验证电子邮件地址    192
7.6  小结    193
第8章  检测浏览器和操作系统    194
8.1  navigator对象    194
8.2  检测浏览器的方式    194
8.2.1  对象/特征检测法    194
8.2.2  user-agent字符串检测法    195
8.3  user-agent字符串简史    196
8.3.1  Netscape Navigator 3.0与
IE3.0    196
8.3.2  Netscape Communicator 4.0与
IE 4.0    197
8.3.3  IE 5.0及更高版本    198
8.3.4  Mozilla    198
8.3.5  Opera    200
8.3.6  Safari    201
8.3.7  结语    201
8.4  浏览器检测脚本    201
8.4.1  方法学    202
8.4.2  第一步    202
8.4.3  检测Opera    204
8.4.4  检测Konqueror/Safari    206
8.4.5  检测IE    208
8.4.6  检测Mozilla    209
8.4.7  检测Netscape Communicator
      4.x    210
8.5  平台/操作系统检测脚本    211
8.5.1  方法学    211
8.5.2  第一步    212
8.5.3  检测Windows操作系统    212
8.5.4  检测Macintosh操作系统    214
8.5.5  检测Unix操作系统    214
8.6  全部脚本    215
8.7  例子:登录页面    219
8.8  小结    224
第9章  事件    225
9.1  今天的事件    225
9.2  事件流    226
9.2.1  冒泡型事件    226
9.2.2  捕获型事件    227
9.2.3  DOM事件流    228
9.3  事件处理函数/监听函数    229
9.3.1  IE    230
9.3.2  DOM    231
9.4  事件对象    232
9.4.1  定位    233
9.4.2  属性/方法    233
9.4.3  相似性    235
9.4.4  区别    238
9.5  事件的类型    240
9.5.1  鼠标事件    240
9.5.2  键盘事件    244
9.5.3  HTML事件    246
9.5.4  变化事件    251
9.6  跨平台的事件    252
9.6.1  EventUtil对象    252
9.6.2  添加/删除事件处理函数    252
9.6.3  格式化event对象    254
9.6.4  获取事件对象    258
9.6.5  示例    259
9.7  小结    260
第10章  高级DOM技术    261
10.1  样式编程    261
10.1.1  DOM样式的方法    263
10.1.2  自定义鼠标提示    264
10.1.3  可折叠区域    265
10.1.4  访问样式表    266
10.1.5  最终样式    270
10.2  innerText和innerHTML    271
10.3  outerText和outerHTML    273
10.4  范围    274
10.4.1  DOM中的范围    274
10.4.2  IE中的范围    284
10.4.3  范围在实际中的应用    288
10.5  小结    288
第11章  表单和数据完整性    289
11.1  表单基础    289
11.2  对<form/>元素进行脚本编写    291
11.2.1  获取表单的引用    291
11.2.2  访问表单字段    291
11.2.3  表单字段的共性    292
11.2.4  聚焦于第一个字段    292
11.2.5  提交表单    293
11.2.6  仅提交一次    294
11.2.7  重置表单    295
11.3  文本框    295
11.3.1  获取/更改文本框的值    296
11.3.2  选择文本    297
11.3.3  文本框事件    298
11.3.4  自动选择文本    298
11.3.5  自动切换到下一个    299
11.3.6  限制textarea的字符数    300
11.3.7  允许/阻止文本框中的字符    301
11.3.8  使用上下按键操作数字文本    306
11.4  列表框和组合框    308
11.4.1  访问选项    309
11.4.2  获取/更改选中项    309
11.4.3  添加选项    310
11.4.4  删除选项    311
11.4.5  移动选项    312
11.4.6  重新排序选项    313
11.5  创建自动提示的文本框    313
11.5.1  匹配    314
11.5.2  内部机制    314
11.6  小结    316
第12章  表格排序    317
12.1  起点——数组    317
12.2  对单列的表格排序    319
12.2.1  比较函数    320
12.2.2  sortTable()函数    320
12.3  对多列表格进行排序    323
12.3.1  比较函数生成器    323
12.3.2  修改sortTable()方法    324
12.3.3  逆序排列    325
12.3.4  对不同的数据类型进行排序    327
12.3.5  高级排序    330
12.4  小结    334
第13章  拖放    335
13.1  系统拖放    335
13.1.1  拖放事件    336
13.1.2  数据传输对象dataTransfer    341
13.1.3  dragDrop()方法    345
13.1.4  优点及缺点    346
13.2  模拟拖放    346
13.2.1  代码    347
13.2.2  创建放置目标    349
13.2.3  优点及缺点    352
13.3  zDragDrop    352
13.3.1  创建可拖动元素    352
13.3.2  创建放置目标    353
13.3.3  事件    353
13.3.4  例子    354
13.4  小结    355
第14章  错误处理    356
14.1  错误处理的重要性    356
14.2  错误和异常    357
14.3  错误报告    358
14.3.1  IE(Windows)    358
14.3.2  IE(MacOS)    359
14.3.3  Mozilla(所有平台)    359
14.3.4  Safari(MacOS)    360
14.3.5  Opera 7(所有平台)    361
14.4  处理错误    362
14.4.1  onerror事件处理函数    362
14.4.2  try...catch语句    365
14.5  调试技巧    370
14.5.1  使用警告框    370
14.5.2  使用Java控制台    371
14.5.3  将消息写入JavaScript控制台
      (仅限Opera 7+)    372
14.5.4  抛出自定义错误    372
14.5.5  JavaScript校验器    373
14.6  调试器    374
14.6.1  Microsoft Script Debugger    374
14.6.2  Venkman    376
14.7  小结    383
第15章  JavaScript中的XML    384
15.1  浏览器中的XML DOM支持    384
15.1.1  IE中的XML DOM支持    384
15.1.2  Mozilla中XML DOM支持    388
15.1.3  通用接口    393
15.2  浏览器中的XPath支持    403
15.2.1  XPath简介    403
15.2.2  IE中的XPath支持    404
15.2.3  Mozilla中的XPath支持    404
15.3  浏览器中的XSLT支持    408
15.3.1  IE中的XSLT支持    410
15.3.2  Mozilla中XSLT支持    413
15.4  小结    415
第16章  客户端与服务器端的通信    416
16.1  cookie    416
16.1.1  cookie的成分    416
16.1.2  其他安全限制    417
16.1.3  JavaScript中的cookie    417
16.1.4  服务器端的cookie    419
16.1.5  在客户端与服务器端之间
传递cookie    422
16.2  隐藏框架    423
16.3  HTTP请求    426
16.3.1  使用HTTP首部    428
16.3.2  实现的复制品    429
16.3.3  进行GET请求    430
16.3.4  进行POST请求    430
16.4  LiveConnect请求    431
16.4.1  进行GET请求    431
16.4.2  进行POST请求    433
16.5  智能HTTP请求    435
16.5.1  get()方法    435
16.5.2  post()方法    438
16.6  实际使用    439
16.7  小结    439
第17章  Web服务    440
17.1  Web服务快速入门    440
17.1.1  Web服务是什么?    440
17.1.2  WSDL    441
17.2  IE中的Web服务    443
17.2.1  使用WebService组件    444
17.2.2  WebService组件例子    445
17.3  Mozilla中的Web服务    447
17.3.1  加强的特权    447
17.3.2  使用SOAP方法    448
17.3.3  使用WSDL代理    451
17.4  跨浏览器的方案    454
17.4.1  WebService对象    454
17.4.2  Temperature 服务    456
17.4.3  使用TemperatureService对象    458
17.5  小结    458
第18章  与插件进行交互    459
18.1  为何使用插件    459
18.2  流行的插件    460
18.3  MIME类型    460
18.4  嵌入插件    461
18.4.1  加入参数    461
18.4.2  Netscape 4.x    462
18.5  检测插件    462
18.5.1  检测Netscape式插件    463
18.5.2  检测ActiveX插件    467
18.5.3  跨浏览器检测    469
18.6  Java applet    470
18.6.1  嵌入applet    470
18.6.2  在JavaScript中引用applet    471
18.6.3  创建applet    471
18.6.4  JavaScript到Java的通信    472
18.6.5  Java到JavaScript的通信    475
18.7  Flash动画    477
18.7.1  嵌入Flash动画    477
18.7.2  引用Flash动画    478
18.7.3  JavaScript到Flash的通信    478
18.7.4  Flash到JavaScript通信    481
18.8  ActiveX控件    483
18.9  小结    485
第19章  部署问题    486
19.1  安全性    486
19.1.1  同源策略    486
19.1.2  窗口对象问题    487
19.1.3  Mozilla特有的问题    488
19.1.4  资源限制    490
19.2  国际化    491
19.2.1  使用JavaScript检测语言    491
19.2.2  策略    492
19.2.3  字符串的思考    492
19.3  优化JavaScript    495
19.3.1  下载时间    495
19.3.2  执行时间    499
19.4  知识产权的问题    512
19.4.1  混淆    512
19.4.2  Microsoft Script Encoder
(仅IE)    513
19.5  小结    514
第20章  JavaScript的未来    515
20.1  ECMAScript 4    515
20.1.1  Netscape的提案    515
20.1.2  实现    521
20.2  ECMAScript for XML    522
20.2.1  途径    522
20.2.2  for each..in循环    524
20.2.3  新的类    524
20.2.4  实现    532
20.3  小结    532
索引(图灵网站下载)

本目录推荐