失效链接处理 |
JavaScript编程思想 从ES5到ES9 PDF 下载
本站整理下载:
版权归出版社和原作者所有,链接已删除,请购买正版
用户下载说明:
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://product.dangdang.com/27859428.html
相关截图:
资料简介: 本书从基础到高级,主要阐释JavaScript编程各层面的语法、观念、实战示例与习题。其内容深入浅出,主要内容包括:表达式与运算符,数据类型,条件和循环语句,函数与方法,处理数值、字符串、数组、自定义对象与日期和时间,DOM的事件处理和元素实例,Reflect、Proxy和Intl对象,window.navigator、window.document和BOM的多个对象实例,类,错误处理,数据的验证与传输,响应式机制与源代码加密。 本书含有充足且具有创意的实战示例,利于读者学习、理解和实际运用。另外,各章末的习题也是用来演练学习成果的良方,可起到事半功倍的奇效。本书既适合业界的程序开发者阅读,也可作为大中专院校与培训机构的教学参考书。 资料目录: 第1章 ECMAScript简介 1 1.1 概述 1 1.1.1 ECMAScript各版本 1 1.1.2 关于JavaScript 2 1.1.3 其他脚本语言 2 1.2 语法的实现 2 1.2.1 源代码 2 1.2.2 语句 3 1.2.3 表达式 5 1.2.4 子程序 10 1.2.5 注释 11 1.2.6 关键字 11 1.3 开 发 环 境 12 1.3.1 浏览器 13 1.3.2 Node.js 14 1.3.3 其他JavaScript Shell 14 1.4 练习题 15 第2章 表达式与运算符 17 2.1 操作数 17 2.1.1 常量(ES6) 17 2.1.2 变量(ES6) 18 2.1.3 子表达式 23 2.1.4 函数的返回值 25 2.2 运算符 26 2.2.1 算术运算符(ES7) 27 2.2.2 赋值运算符 30 2.2.3 比较运算符 33 2.2.4 逻辑运算符 34 2.2.5 条件运算符 36 2.2.6 类型运算符 37 2.2.7 按位运算符 41 2.2.8 括号运算符 46 2.2.9 扩展运算符(ES6) 49 2.2.10 逗号运算符 51 2.2.11 删除运算符 51 2.2.12 运算符的优先级(ES6) 53 2.3 练习题 55 第3章 数据类型 57 3.1 数值类型 57 3.1.1 2n进制的字面量(ES6) 57 3.1.2 数值的比较(ES6) 58 3.1.3 数值的正负符号(ES6) 59 3.1.4 数值的截断(ES6) 60 3.1.5 数值的特殊格式(ECMA-402) 63 3.1.6 整数值的安全范围(ES6) 66 3.2 布尔类型 68 3.3 数组类型 70 3.4 对象类型 73 3.5 字符串类型 75 3.5.1 一般字符串 75 3.5.2 格式化字符串(ES6) 77 3.5.3 日期与时间格式的字符串(ES6) 80 3.6 集合与地图类型 82 3.6.1 集合类型(ES6) 82 3.6.2 地图类型(ES6) 84 3.7 数据类型的转换(ES6) 85 3.8 练习题 88 第4章 条件和循环语句 90 4.1 条件语句 90 4.1.1 if语句 90 4.1.2 switch语句 94 4.2 循环语句 96 4.2.1 for相关语句(ES6) 96 4.2.2 while相关语句 104 4.2.3 break与continue语句 106 4.3 练习题 108 第5章 函数与方法 110 5.1 函数的定义 110 5.1.1 不同形式的函数(ES6) 110 5.1.2 函数名称(ES6) 124 5.1.3 参数(ES6) 125 5.1.4 主体 132 5.1.5 返回数据与void关键字(ES6) 135 5.1.6 定义的位置(ES6) 137 5.1.7 函数的调用形式(ES6) 139 5.2 生成器 142 5.2.1 迭代器协议与生成器(ES6) 142 5.2.2 生成器函数的定义和用法(ES6) 143 5.3 搭配Promise对象 144 5.3.1 Promise对象的用法(ES6、ES9) 144 5.3.2 聚集多个Promise对象(ES6) 148 5.3.3 异步函数与等待表达式(ES8) 154 5.4 练习题 156 第6章 处理数值 159 6.1 Number对象的内置属性 159 6.1.1 最大的正数和安全整数(ES6) 159 6.1.2 最小的正数和安全整数(ES6) 160 6.1.3 正负无穷值 162 6.1.4 非数值的判断(ES6) 162 6.1.5 浮点数运算的误差值(ES6) 166 6.2 Number对象的内置函数 167 6.2.1 转换为特定进制的数码字符串 167 6.2.2 处理小数格式 170 6.2.3 转换为数值 172 6.2.4 判断是否为整数或有限数(ES6) 175 6.3 Math对象 177 6.3.1 Math对象的常量属性 177 6.3.2 Math对象的函数(ES6) 178 6.4 练习题 189 第7章 处理字符串 190 7.1 String对象 190 7.1.1 子字符串的索引值 190 7.1.2 特定模式的子字符串的搜索(ES6) 192 7.1.3 子字符串的获取 194 7.1.4 子字符串的替换 196 7.1.5 字符串的大小写转换 198 7.1.6 不同字符串的连接 199 7.1.7 字符串的重复连接 200 7.1.8 字符串的分割 200 7.1.9 特定字符和Unicode数码的双向转换(ES6) 202 7.1.10 重复填充子字符串于扩充后的字符串中(ES8) 204 7.2 将冗长的字符串分割为多行(ES6) 205 7.3 字符串的扩展运算(ES6) 207 7.4 字符串的插值格式化(ES6) 207 7.5 原始字符串(ES6) 210 7.6 正则表达式与黏性匹配(ES6) 211 7.7 万国码字面量(ES6) 214 7.8 练习题 216 第8章 处理数组 217 8.1 Array对象 217 8.1.1 创建特定数组的副本(ES6) 217 8.1.2 创建来自可迭代对象的新数组(ES6) 220 8.1.3 数组元素数据所构成的字符串 223 8.1.4 数组元素的放入和取出 224 8.1.5 新增或删除数组的多个元素 226 8.1.6 合并多个数组 227 8.1.7 切割数组 228 8.1.8 寻找符合特定条件的数组元素(ES6) 229 8.1.9 自我复制并覆盖数组的部分元素(ES6) 230 8.1.10 判断数组各元素是否符合特定条件 232 8.1.11 数组部分元素的填充(ES6) 233 8.1.12 筛选出符合特定条件的数组元素(ES6) 235 8.1.13 循环访问数组各元素 236 8.1.14 判断是否为数组的实例 237 8.1.15 访问并渐次处理数组各元素的数据 239 8.1.16 反转数组各元素的顺序 244 8.1.17 数组各元素的重新排序 245 8.1.18 判断特定元素的存在性(ES7) 246 8.2 数组的扩展运算(ES6) 248 8.3 数组元素的匹配(ES6) 249 8.4 数据类型化的按位数组(ES6) 250 8.5 练习题 252 第9章 处理自定义对象 253 9.1 自定义对象的属性名称、属性数据与副本 253 9.1.1 对象属性的名称或数据所构成的数组(ES8) 253 9.1.2 精细创建特定对象实例的副本 255 9.2 自定义对象实例之间的相同性与合并 258 9.2.1 判断两个对象实例的数据是否完全相同(ES6) 258 9.2.2 合并多个对象实例的所有成员(ES6) 260 9.3 对象实例的简短自定义语法(ES6) 261 9.4 自定义对象实例的动态成员名称(ES6) 262 9.5 对象实例的匹配(ES9) 262 9.6 练习题 264 第10章 处理日期和时间 265 10.1 处理日期 265 10.1.1 获取日期相关数据 265 10.1.2 设置日期相关数据 267 10.1.3 带有日期的格式化字符串 268 10.2 处理时间 270 10.2.1 获取时间相关数据 270 10.2.2 设置时间相关数据 272 10.2.3 带有时间的格式化字符串 274 10.2.4 处理纪元时间至今的毫秒数(ES6) 275 10.3 练习题 277 第11章 DOM的事件处理(一) 278 11.1 鼠标事件 278 11.1.1 单击和双击事件 278 11.1.2 上下文菜单事件 281 11.1.3 鼠标按下与松开事件 282 11.1.4 鼠标指针相关进出事件 284 11.1.5 鼠标移动事件 287 11.2 键盘事件 289 11.2.1 按压与按下按键事件 289 11.2.2 松开按键事件 289 11.3 网页内容的装卸事件 290 11.3.1 出现错误事件 290 11.3.2 加载和页面显示事件 292 11.3.3 卸载和页面隐藏事件 294 11.3.4 先于卸载事件 295 11.3.5 网址散列变化事件 296 11.3.6 滚动事件 298 11.4 表单事件 299 11.4.1 内容变化事件 299 11.4.2 获取和失去焦点相关事件 300 11.4.3 输入事件 302 11.4.4 无效事件 303 11.4.5 重置事件 304 11.4.6 搜索事件 306 11.4.7 选定文本事件 307 11.4.8 提交事件 308 11.5 练习题 309 第12章 DOM的事件处理(二) 311 12.1 拖动事件 311 12.1.1 正在拖动事件 311 12.1.2 拖动结束事件 313 12.1.3 拖动进入事件 315 12.1.4 拖动离开事件 316 12.1.5 拖动悬停事件 318 12.1.6 拖动开始事件 319 12.1.7 放下事件 321 12.2 剪贴板事件 323 12.2.1 复制事件 324 12.2.2 剪切事件 325 12.2.3 粘贴事件 325 12.3 视频和音频事件 325 12.3.1 加载相关事件 326 12.3.2 清空事件 328 12.3.3 播放结束事件 329 12.3.4 异常相关事件 330 12.3.5 播放与暂停相关事件 331 12.3.6 播放速率变化事件 332 12.3.7 播放位置变化相关事件 333 12.3.8 音量变化事件 335 12.3.9 缓冲等待事件 335 12.4 动画及过渡事件 336 12.4.1 动画相关事件 336 12.4.2 过渡结束事件 338 12.5 其他事件 339 12.5.1 details元素实例的切换事件 340 12.5.2 鼠标滚轮事件 341 12.5.3 触摸相关事件 342 12.5.4 接收服务器数据相关事件 344 12.6 练习题 346 第13章 Reflect对象 347 13.1 Reflect对象介绍(ES6) 347 13.2 间接应用特定函数(ES6) 349 13.3 创建特定对象的实例(ES6) 351 13.4 精细定义新属性(ES6) 353 13.5 删除特定属性(ES6) 354 13.6 获取特定属性的数据(ES6) 355 13.7 返回特定属性的描述器(ES8) 356 13.8 返回特定对象的原型(ES6) 359 13.9 判断特定属性的存在性(ES6) 360 13.10 判断与设置特定对象的扩展性(ES6) 361 13.11 简易定义新属性(ES6) 363 13.12 重新设置特定对象的原型(ES6) 365 13.13 返回与列举特定对象的自定义属性(ES6) 367 13.14 练习题 370 第14章 Proxy对象、Intl对象和navigator对象实例 371 14.1 Proxy对象 371 14.1.1 创建访问代理机制的构造函数(ES6) 372 14.1.2 确定被代理的特定对象(ES6) 373 14.1.3 自定义代理函数(ES6) 373 14.1.4 调试访问代理机制(ES6) 375 14.2 Intl对象 376 14.2.1 精确比较语言敏感的字符串(ECMA-402) 376 14.2.2 语言敏感的日期与时间格式(ECMA-402) 378 14.2.3 语言敏感的数值格式(ECMA-402) 379 14.2.4 返回规范化语言环境名称(ECMA-402) 380 14.3 window.navigator对象实例 381 14.3.1 获取浏览器相关信息 381 14.3.2 获取当前地理定位相关数据 383 14.4 练习题 385 第15章 window.document对象实例 386 15.1 返回焦点所在的元素 386 15.2 附加事件处理器至特定元素 388 15.3 收养特定节点 390 15.4 返回所有锚点元素构成的集合 392 15.5 返回当前网址的相关属性 393 15.6 在当前网页中动态生成HTML源代码 394 15.7 内含特定服务器相关数据的cookie 396 15.8 返回当前网页编码字符集的名称 398 15.9 创建代表新属性的节点 398 15.10 创建代表新注释的节点 399 15.11 创建代表新片段或新元素的节点 400 15.12 创建代表新文本的节点 402 15.13 返回当前网页的根元素 404 15.14 访问当前网址的域名 405 15.15 返回所有embed元素构成的集合 406 15.16 返回所有form元素实例构成的集合 407 15.17 返回特定身份识别码的元素实例 408 15.18 返回被设置带有特定CSS类名的所有元素实例的集合 411 15.19 返回特定标签名称的所有元素实例的集合 414 15.20 判断当前网页是否存在焦点 416 15.21 返回当前网页的head元素实例 417 15.22 返回当前网页所有image元素实例的集合 418 15.23 创建当前网页或者子网页里的特定节点实例的副本 420 15.24 获取当前网页的最近被修改的日期和时间 423 15.25 返回当前网页中的所有超链接元素实例的集合 425 15.26 返回特定CSS选择器名称对应的元素实例或集合 426 15.27 返回和处置当前网页的加载状态 429 15.28 返回跳转前的网址 430 15.29 解除已被附加的事件处理器 432 15.30 返回当前网页中的所有script元素实例构成的集合 433 15.31 访问当前网页的标题文本 434 15.32 练习题 435 第16章 DOM的元素实例 437 16.1 设置焦点跳转至特定元素实例上的快捷键 437 16.2 创建特定元素实例的动画效果(Web Animations) 439 16.3 添加新元素实例和访问特定元素实例的所有属性 441 16.4 使得特定元素实例失去和获取焦点 445 16.5 访问子节点或子元素的实例 447 16.6 访问被应用在特定元素实例的所有CSS类名 450 16.7 模拟鼠标单击特定元素实例的动作 454 16.8 获取特定元素的尺寸、坐标与可定位的上层元素 455 16.9 比较两个元素之间的位置关系 458 16.10 判断是否存在特定子元素或可被编辑 461 16.11 访问特定元素实例的文本被书写的方向 463 16.12 返回头尾的子节点实例或子元素实例 464 16.13 访问或删除特定元素实例的特定属性 467 16.14 访问特定元素实例的常见属性的数据 469 16.15 判断是否存在任何子节点实例 472 16.16 在特定子节点实例之前新增另一子节点实例 473 16.17 判断两个节点实例的内容是否完全相同 475 16.18 返回下一个或上一个兄弟节点实例 478 16.19 返回特定节点实例的相关数据 479 16.20 合并多个相邻的文本子节点实例 481 16.21 返回父节点实例 484 16.22 删除或替换子节点实例 486 16.23 获取滚动条的相关数据 488 16.24 练习题 491 第17章 BOM的多个对象实例 492 17.1 window对象实例 492 17.1.1 显示多种对话框与搜索特定文本 492 17.1.2 滚动至坐标或滚动特定距离 496 17.2 screen对象实例 498 17.3 history对象实例 499 17.4 location对象实例 501 17.5 练习题 503 第18章 类 504 18.1 类的定义和继承 504 18.1.1 类的定义(ES6) 505 18.1.2 类的继承(ES6) 507 18.2 类的静态成员 508 18.2.1 静态成员的概念和定义(ES6) 509 18.2.2 静态成员的运用(ES6) 511 18.3 类的设置器和取得器 511 18.3.1 设置器和取得器的概念和定义(ES6) 512 18.3.2 设置器和取得器的运用(ES6) 513 18.4 练习题 514 第19章 错误处理 516 19.1 异常错误的种类 516 19.1.1 语法错误 517 19.1.2 数据类型错误 518 19.1.3 评估错误 520 19.1.4 范围错误 522 19.1.5 引用错误 524 19.1.6 网址在编码或解码上的错误 526 19.1.7 逻辑错误 527 19.2 处置特定异常错误 529 19.2.1 试验与捕获特定异常错误 529 19.2.2 抛出自定义的异常错误 530 19.3 调试机制 531 19.3.1 严格模式 531 19.3.2 源代码的断点设置和逐句执行 535 19.4 练习题 536 第20章 数据的验证与传输 538 20.1 HTML表单的内置验证 538 20.1.1 必填验证 538 20.1.2 字符个数和数值范围的验证 540 20.2 自定义的验证 542 20.2.1 文本字段的模式验证 544 20.2.2 JavaScript源代码实现的验证 545 20.3 异步数据传输 548 20.3.1 AJAX的工作原理 549 20.3.2 AJAX的编程方式 552 20.4 练习题 561 第21章 响应式机制 563 21.1 通过CSS语法的版本 563 21.1.1 页面的元信息 565 21.1.2 媒体查询 565 21.2 通过JavaScript语法的版本 567 21.2.1 简易判断窗口尺寸的版本 572 21.2.2 直接变更CSS规则的版本 575 21.3 源代码的加密 579 21.3.1 改写HTML与CSS成为JavaScript源代码 580 21.3.2 JavaScript源代码的全数加密 585 21.4 练习题 586 附录 练习题答案 588 |