当前位置:首页 > 工业技术
JavaScript编程思想  从ES5到ES9
JavaScript编程思想  从ES5到ES9

JavaScript编程思想 从ES5到ES9PDF电子书下载

工业技术

  • 电子书积分:18 积分如何计算积分?
  • 作 者:柯霖廷编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2019
  • ISBN:9787302526612
  • 页数:627 页
图书介绍:本书所提及的JavaScript语法版本,以ECMAScript 6(ES6)的标准为主,ES5 与 ES7 为辅。本书内容脉络经过特殊安排,除了初学者可循序渐进学而有成之外,资深程序员亦可透过目录中特殊的“标示”,快速得知“新”语法的所在章节位置,以利学习的效能。本书除了介绍 JavaScript 可达成的常见任务之外,亦琢磨于实现响应式机制,以替代 CSS 源代码的角色,以及 JavaScript 源代码的加密,以充份保护知识产权。
《JavaScript编程思想 从ES5到ES9》目录

第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

相关图书
作者其它书籍
返回顶部