新書推薦:
《
量子网络的构建与应用
》
售價:NT$
500.0
《
拍电影的热知识:126部影片里的创作技巧(全彩插图版)
》
售價:NT$
500.0
《
大唐名城:长安风华冠天下
》
售價:NT$
398.0
《
情绪传染(当代西方社会心理学名著译丛)
》
售價:NT$
403.0
《
中国年画 1950-1990 THE NEW CHINA: NEW YEAR PICTURE 英文版
》
售價:NT$
1100.0
《
革命与反革命:社会文化视野下的民国政治(近世中国丛书)
》
售價:NT$
435.0
《
画楼:《北洋画报》忆旧(年轮丛书)
》
售價:NT$
1573.0
《
大国脊梁:漫画版
》
售價:NT$
374.0
|
編輯推薦: |
内容涵盖SE6到SE11,不仅介绍了JavaScript的基础语法、对象、构造函数、原型与类等基本内容,还深入介绍了异步设计、错误处理、meta programming等高级内容。
? 除名称空间、模块管理介绍外,还运用标准模块语法,将DOM操作、事件处理、样式设定、XMLHttpRequest操作等细节,逐一封装成为可用的模块。
? 探讨XMLHttpRequest、Fetch、Server-Sent Event与WebSocket等标准网络通信方案;讨论Web Storage、Indexed Database等浏览器存储方案。
? 介绍如何使用除错器、浏览器开发人员工具,以检视程序代码的错误、网络通信及浏览器存储方案的相关细节。
? 已提供范例的相关Lab档案,读者通过实操更能掌握练习重点。
|
內容簡介: |
JavaScript是一种网络脚本语言,被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。JavaScript脚本通常是通过嵌入在HTML中来实现自身功能的。 《JavaScript技术手册》内容涵盖ES6到ES11,不仅介绍了JavaScript的基础语法、对象、构造函数、原型与类等基本内容,还深入介绍了异步设计、错误处理、meta programming等高级内容。此外,还运用标准模块语法将DOM操作、事件处理、样式设定、XMLHttpRequest操作等细节,逐一封装成为可用的模块。 《JavaScript技术手册》对于初学者来说,只要了解Windows基本操作,无须有任何程序语言基础,便可以扎扎实实地学习JavaScript。对于有一定JavaScript开发经验、正在或准备从事JavaScript 开发的人来说,通过《JavaScript技术手册》的高级内容,能够掌握JavaScript的技术精髓,进而应用于实践工作中。
|
關於作者: |
林信良网名良葛格,毕业于台湾大学电机工程学系,自由工作者,擅长技术写作、翻译与教育训练。喜欢研究程序语言、框架、社群,从中学习设计、典范及文化,并利用闲暇之余记录所学技术,涵盖CC、Java、Python、JavaScript、Haskell、OpenSCAD、WebAssembly等领域。目前出版的著作有《JSP&Servlet学习笔记第3版》《JSP&Servlet学习笔记第2版》《Java JDK 9学习笔记》《Java JDK 8学习笔记》《Spring技术手册》,译作有《Ajax实战手册》《jQuery实战手册第2版》。
|
目錄:
|
第1章 JavaScript技术概述 1
1.1 认识JavaScript 1
1.1.1 JavaScript的发展 1
1.1.2 认识TC39提案 4
1.1.3 使用哪个版本 5
1.2 准备JavaScript环境 7
1.2.1 JavaScript引擎 7
1.2.2 下载、安装Node.js 8
1.3 重点复习 10
第2章 类型、变量与运算符 11
2.1 从Hello World 开始 11
2.1.1 使用REPL 11
2.1.2 撰写JavaScript原始码 14
2.1.3 哈啰!世界! 15
2.2 内建类型 18
2.2.1 基本类型 18
2.2.2 复合类型 23
2.2.3 数组与类数组 25
2.3 变量与运算符 29
2.3.1 变量 29
2.3.2 严格模式 33
2.3.3 加减乘除运算 35
2.3.4 比较运算 38
2.3.5 逻辑运算 40
2.3.6 位运算 41
2.3.7 条件、指定、递增递减 43
2.4 重点复习 45
第3章 流程语法与函数 46
3.1 使用除错器 46
3.1.1 使用Visual Studio Code 46
3.1.2 使用调试程序 48
3.2 流程语法 50
3.2.1 if分支判断 50
3.2.2 变量与区块 52
3.2.3 switch比对 53
3.2.4 for循环 55
3.2.5 while循环 58
3.2.6 break、continue 59
3.3 函数入门 61
3.3.1 声明函数 61
3.3.2 参数与自变量 64
3.3.3 一级函数的运用 67
3.3.4 函数字面量与箭号函数 72
3.3.5 Closure 75
3.3.6 产生器函数 77
3.3.7 模板字符串与标记模板 81
3.4 重点复习 84
3.5 课后练习 84
第4章 使用对象 86
4.1 特性与方法 86
4.1.1 特性与undefined 86
4.1.2 函数与this 88
4.1.3 对象字面量增强 94
4.1.4 解构、余集、打散 97
4.2 对象协议 101
4.2.1 valueOf与toString 101
4.2.2 符号 103
4.2.3 运用标准符号 104
4.3 重点复习 108
4.4 课后练习 108
第5章 构造函数、原型与类 110
5.1 构造函数 110
5.1.1 封装对象建构流程 110
5.1.2 私有性模拟 114
5.1.3 特性描述器 116
5.1.4 扩充、弥封、冻结 120
5.2 原型对象 120
5.2.1 构造函数与prototype 121
5.2.2 __proto__与Object.create 125
5.2.3 原型链 126
5.2.4 基于原型的继承 128
5.2.5 重新定义方法 131
5.3 类语法 133
5.3.1 定义类 134
5.3.2 定义方法 135
5.3.3 实现继承 138
5.3.4 super与extends 140
5.4 重点复习 143
5.5 课后练习 144
第6章 异步设计 145
6.1 初识异步 145
6.1.1 使用setTimeout 145
6.1.2 同步 148
6.1.3 异步与回调 149
6.2 Promise 151
6.2.1 Promise实例 151
6.2.2 衔接Promise 153
6.2.3 Promise与产生器 155
6.3 async、await 156
6.3.1 async函数 156
6.3.2 await与Promise 158
6.3.3 for-await-of与异步产生器函数 160
6.3.4 Symbol.asyncIterator 162
6.4 重点复习 165
6.5 课后练习 165
第7章 错误处理 166
7.1 错误处理语法 166
7.1.1 throw与try-catch 166
7.1.2 掌握错误类型 169
7.1.3 自定义错误类型 172
7.1.4 认识堆栈追踪 174
7.1.5 产生器与错误处理 177
7.2 异步错误处理 179
7.2.1 回调模式错误处理 179
7.2.2 Promise与错误处理 181
7.2.3 async、await与错误处理 182
7.2.4 异步产生器与错误处理 183
7.3 重点复习 184
7.4 课后练习 184
第8章 常用标准API 186
8.1 数组 186
8.1.1 数组静态方法 186
8.1.2 改变数组 189
8.1.3 函数式风格API 192
8.2 群集 196
8.2.1 Set与WeakSet 196
8.2.2 Map与WeakMap 198
8.2.3 ArrayBuffer 201
8.3 JSON 203
8.3.1 简介JSON 203
8.3.2 JSON.stringify与JSON.parse 204
8.4 正则表达式 207
8.4.1 JavaSript与正则表达式 207
8.4.2 简介正则表达式 207
8.4.3 String与正则表达式 213
8.4.4 使用RegExp 216
8.4.5 Unicode正则表达式 220
8.5 重点复习 224
8.6 课后练习 224
第9章 meta-programming 226
9.1 探索对象 226
9.1.1 对象特性 227
9.1.2 对象类型 230
9.1.3 对象相等性 234
9.2 Reflect与Proxy 235
9.2.1 Reflect API 235
9.2.2 Proxy API 240
9.3 重点复习 246
9.4 课后练习 246
第10章 进入浏览器 248
10.1 浏览器与JavaScript 248
10.1.1 初探script标签 248
10.1.2 文件解析与script标签 250
10.1.3 开发人员工具 253
10.1.4 引用.js原始码 254
10.1.5 async与defer 257
10.1.6 初探安全 258
10.1.7 同源策略与CORS 261
10.2 从名称空间到模块 266
10.2.1 名称空间管理 266
10.2.2 从CommonJS到AMD 271
10.3 ECMAScript模块 273
10.3.1 script卷标与模块 273
10.3.2 模块语法入门 275
10.3.3 export与export default 278
10.4 重点复习 282
10.5 课后练习 282
第11章 DOM、事件与样式 284
11.1 文件对象模型 284
11.1.1 浏览器对象模型 284
11.1.2 W3C文件对象模型 287
11.1.3 访问HTML文件 289
11.1.4 卷标属性与DOM特性 293
11.1.5 修改DOM树 297
11.1.6 封装DOM操作 300
11.2 事件处理 307
11.2.1 基本事件模型 308
11.2.2 标准事件模型 310
11.2.3 标准事件传播 312
11.2.4 封装事件处理 315
11.3 样式处理 317
11.3.1 存取样式信息 317
11.3.2 存取元素宽高 320
11.3.3 存取元素位置 322
11.3.4 显示、可见度与透明度 327
11.3.5 操作class属性 333
11.3.6 窗口维度相关信息 335
11.3.7 封装样式处理 338
11.4 重点复习 344
11.5 课后练习 344
第12章 网络通信方案 345
12.1 XMLHttpRequest 345
12.1.1 初探XMLHttpRequest实例 345
12.1.2 使用GET请求 350
12.1.3 使用POST请求 354
12.1.4 上传文件 357
12.1.5 responseXML、response 362
12.1.6 封装XMLHttpRequest操作 366
12.2 Fetch、Server-Sent Events、WebSocket 371
12.2.1 Fetch API 372
12.2.2 Server-Sent Events 374
12.2.3 简介WebSocket 377
12.3 重点复习 379
12.4 课后练习 379
第13章 浏览器保存方案 380
13.1 Cookie 380
13.1.1 认识Cookie 380
13.1.2 document.cookie 382
13.2 Web Storage 385
13.2.1 使用Storage 386
13.2.2 storage事件 388
13.3 Indexed Database 390
13.3.1 数据库与对象库 390
13.3.2 在交易中存取数据 393
13.3.3 封装数据库操作 395
13.4 重点复习 398
13.5 课后练习 398
附录A HTTP简介 399
|
|