JS全书:JavaScript Web前端开发指南 版权信息
- ISBN:9787302543947
- 条形码:9787302543947 ; 978-7-302-54394-7
- 装帧:平装-胶订
- 册数:暂无
- 重量:暂无
- 所属分类:>>
JS全书:JavaScript Web前端开发指南 本书特色
本书从JavaScript的基础语法开始讲解,循序渐进地介绍了JavaScript的**知识和高级技巧,并通过大量实例带领读者掌握Web前端开发中常用的JavaScript知识及开发技巧。本书着重于为JavaScript编程开发人员及爱好者提供简单易懂、清晰明了的学习路径。本书结构清晰,内容编排由浅入深,能够帮助读者拥有Web开发中不可或缺的能力和技巧。 本书既适合JavaScript语言初学者,也适合JavaScript语言进阶者。
JS全书:JavaScript Web前端开发指南 内容简介
本书从JavaScript的基础语法开始讲解,循序渐进地介绍了JavaScript的推荐知识和不错技巧,并通过大量实例带领读者掌握Web前端开发中常用的JavaScript知识及开发技巧。本书着重于为JavaScript编程开发人员及爱好者提供简单易懂、清晰明了的学习路径。本书结构清晰,内容编排由浅入深,能够帮助读者拥有Web开发中不可或缺的能力和技巧。
本书既适合JavaScript语言初学者,也适合JavaScript语言进阶者。
JS全书:JavaScript Web前端开发指南 目录
第1章 初入 JavaScript 001
1.1 JavaScript 简介 002
1.2 JavaScript 起源 003
1.3 JavaScript 实现 004
1.3.1 ECMAScript 004
1.3.2 BOM 005
1.3.3 DOM 005
1.4 JavaScript 使用 005
1.4.1 内联的 JavaScript 005
1.4.2 外部的 JavaScript 006
1.4.3 行内的 JavaScript 007
第2章 准备工作 008
2.1 开发工具 009
2.1.1 Sublime Text 009
2.1.2 Visual Studio Code 010
2.1.3 WebStorm 011
2.1.4 Atom 012
2.2 Chrome 开发者工具 012
2.2.1 信息类方法 013
2.2.2 清除历史记录 013
2.2.3 保留历史记录 014
第3章 语法 015
3.1 基本语法 016
3.1.1 语句 016
3.1.2 注释 016
3.1.3 标识符 017
3.2 变量和变量作用域 019
3.2.1 变量 019
3.2.2 声明变量 019
3.2.3 非声明变量 024
3.3 数据类型 025
3.3.1 内存空间 025
3.3.2 基本数据类型与引用数据类型 025
3.3.3 浅拷贝与深拷贝 027
3.3.4 typeof 与 instanceof 029
3.3.5 类型转换 031
3.3.6 基本包装类型 035
3.4 字符串 036
3.4.1 字符串的特点 039
3.4.2 length 属性 039
3.4.3 实例方法 039
3.5 运算符 048
3.5.1 算术运算符 048
3.5.2 逻辑运算符 050
3.5.3 比较运算符 051
3.5.4 三元运算符 052
3.5.5 赋值 053
3.5.6 位运算符 054
3.5.7 异步操作符 async function 055
3.5.8 其他运算符 059
3.5.9 运算符优先级 060
3.6 条件语句 062
3.6.1 if 语句 062
3.6.2 switch 语句 063
3.6.3 三元运算符 064
3.7 循环语句 065
3.7.1 for 065
3.7.2 while 065
3.7.3 for…in 067
3.7.4 for…of 068
3.7.5 break 和 continue 语句 068
3.8 错误处理 069
3.8.1 try…catch 069
3.8.2 throw 070
3.9 严格模式 070
第4章 函数 072
4.1 定义 073
4.1.1 返回值 073
4.1.2 箭头函数(Arrow Function) 074
4.1.3 关于 this 075
4.2 函数的属性和方法 080
4.2.1 length 属性 080
4.2.2 name 080
4.3 参数 080
4.3.1 按值传递 081
4.3.2 arguments 082
4.3.3 Rest 参数(剩余参数) 083
4.3.4 箭头函数中的 arguments 对象 083
4.3.5 默认参数 083
4.4 递归 084
4.5 闭包 086
4.5.1 什么是闭包 087
4.5.2 实践中的闭包 087
4.6 IIFE 089
4.7 高阶函数 090
4.7.1 回调函数 090
4.7.2 偏函数 091
4.7.3 柯里化 091
4.7.4 纯函数 092
第5章 数组 093
5.1 定义 094
5.2 多维数组 094
5.3 length 属性 094
5.4 方法 094
5.4.1 Array.isArray() 095
5.4.2 Array.of() 095
5.4.3 Array.from() 095
5.5 实例方法 099
5.5.1 concat() 099
5.5.2 copyWithin() 099
5.5.3 keys()、values() 和 entries() 100
5.5.4 forEach() 和 map() 100
5.5.5 every() 和 some() 101
5.5.6 filter() 101
5.5.7 fill() 102
5.5.8 find() 和 findIndex() 102
5.5.9 includes() 102
5.5.10 indexOf() 和 lastIndexOf() 103
5.5.11 join() 和 splice() 103
5.5.12 push()、pop()、unshift() 和 shift() 103
5.5.13 reduce() 和 reduceRight() 104
5.5.14 reverse() 104
5.5.15 slice() 104
5.5.16 sort() 104
5.5.17 toString() 105
5.5.18 toLocaleString() 105
第6章 对象 106
6.1 定义 107
6.1.1 定义对象的属性 107
6.1.2 定义对象的方法 108
6.1.3 getter 和 setter 108
6.2 属性 109
6.2.1 原型及原型链 109
6.2.2 更好的类型检测 110
6.2.3 构造函数 111
6.3 方法 112
6.3.1 Object.getPrototypeOf() 和 Object.setPrototypeOf() 112
6.3.2 Object.create() 112
6.3.3 Object.assign() 112
6.3.4 Object.defineProperty() 和 Object.getOwnPropertyDescriptor() 113
6.3.5 Object.defineProperties()和Object.getOwnPropertyDescriptors() 114
6.3.6 Object.keys()、Object.values() 和 Object.entries() 114
6.3.7 Object.freeze() 和 Object.isFrozen() 115
6.3.8 Object.seal() 和 Object.isSealed() 115
6.3.9 Object.preventExtensions() 和 Object.isExtensible() 116
6.3.10 Object.is() 116
6.3.11 Object.getOwnPropertyNames() 116
6.3.12 Object.getOwnPropertySymbols() 117
第7章 类 118
7.1 定义 119
7.2 constructor 119
7.2.1 实例化 119
7.2.2 类的方法 120
7.2.3 this 指向 120
7.2.4 constructor 属性 121
7.3 继承 122
7.4 静态方法 123
第8章 JSON 125
8.1 简介 126
8.2 JSON的解析 126
8.3 JSON的序列化 129
第9章 BOM 132
9.1 window 133
9.1.1 setTimeout 133
9.1.2 setInterval 133
9.1.3 定时器的问题 134
9.2 history 134
9.2.1 history 134
9.2.2 ajax 的前进后退 135
9.3 location 137
9.3.1 assign() 和 replace() 138
9.3.2 reload() 138
9.3.3 属性 138
9.4 navigator 139
第10章 DOM 140
10.1 DOM 简介 141
10.1.1 节点 141
10.1.2 节点类型 141
10.2 节点查找 142
10.2.1 获取单个节点 Node 142
10.2.2 获取节点集合 NodeList 143
10.3 节点操作 146
10.3.1 创建节点 146
10.3.2 新增节点 147
10.3.3 删除节点 148
10.3.4 修改节点 149
10.4 属性操作 149
10.4.1 getAttribute() 149
10.4.2 setAttribute() 150
10.4.3 点符号 150
10.4.4 classList 属性 150
10.5 内容操作 151
10.6 样式操作 152
10.6.1 getComputedStyle() 152
10.6.2 设置CSS样式 152
第11章 事件 153
11.1 事件处理 154
11.1.1 addEventListener() 154
11.1.2 removeEventListener() 155
11.2 事件流 156
11.3 事件对象与事件类型 157
11.3.1 阻止默认行为 159
11.3.2 阻止事件冒泡 159
11.3.3 事件委托 160
11.4 自定义事件 161
第12章 Ajax 163
12.1 Ajax 简介 164
12.1.1 XMLHttpRequest 164
12.1.2 Fetch 167
12.2 HTTP 168
12.2.1 客户端、服务端 168
12.2.2 代理服务器 168
12.2.3 HTTP是无状态,有会话的 168
12.2.4 HTTP 流 169
12.2.5 http1.0的问题 170
12.4 跨域 171
12.4.1 浏览器的同源策略 171
12.4.2 jsonp 171
12.4.3 img ping 171
12.4.4 window.name 172
12.4.5 postMessage 173
12.4.6 CORS 174
第13章 模块和构建工具 175
13.1 模块 176
13.1.1 CommonJS 176
13.1.2 AMD 177
13.1.3 CMD 177
13.1.4 UMD 178
13.2 ES6中的模块 178
13.2.1 export 178
13.2.2 import 179
13.2.3 导入、导出时的重命名 179
13.3 构建工具 180
13.3.1 npm 的使用 180
13.3.2 npm 发布包 181
第14章 客户端存储 184
14.1 cookie 185
14.1.1 什么是 cookie 185
14.1.2 有效期和作用域 185
14.1.3 关于 session 186
14.1.4 关于 token 186
14.2 本地存储 186
14.2.1 localStorage 187
14.2.2 .和 [ ] 操作 188
14.2.3 sessionStorage 188
14.3 IndexedDB 188
第15章 性能优化 191
15.1 减少请求数 192
15.1.1 合并代码 192
15.1.2 CSS Sprite 193
15.1.3 data url 193
15.2 减少代码体积 194
15.3 缓存文件 196
15.3.1 浏览器缓存 196
15.3.2 客户端缓存 197
15.4 使用内容分发网络 CDN 197
15.6 延迟加载 197
15.6.1 实现 198
15.6.2 完整代码 198
15.7 避免重定向 199
15.8 服务端gzip 199
15.8.1 什么是 gzip 199
15.8.2 gzip 压缩原理 200
第16章 类库和框架 201
16.1 预处理器 202
16.2 辅助库 202
16.2.1 jQuery 202
16.2.2 axios 203
16.2.3 Underscore 203
16.2.4 lodash 204
16.2.5 Moment.js 204
16.3 框架 205
16.3.1 Angular 205
16.3.2 React 205
16.3.3 Vue.js 205
附录 A Canvas 206
附录 B 前端中的 SEO 209
B.1 robots.txt 209
B.2 title 209
B.3 meta 210
B.4 其他 HTML 标签 210
B.5 结构化数据标记 210
附录 C 编程风格 212
C.1 减少全局变量污染 212
C.2 避免使用 var 212
C.3 使用字面量 212
C.4 字符串 213
C.5 解构 213
C.6 函数 213
C.7 模块 214
C.8 其他 214
展开全部
JS全书:JavaScript Web前端开发指南 作者简介
高鹏,资深Web前端开发人员,全栈工程师,JavaScript爱好者。长期从事技术研究和推广工作,JavaScript公众号创办人。