| 作 者: | 张旭乾 |
| 出版社: | 清华大学出版社 |
| 丛编项: | |
| 版权说明: | 本书为公共版权或经版权方授权,请支持正版图书 |
| 标 签: | 暂缺 |
| ISBN | 出版时间 | 包装 | 开本 | 页数 | 字数 |
|---|---|---|---|---|---|
| 未知 | 暂无 | 暂无 | 未知 | 0 | 暂无 |
第1章简介
1.1发展历史
1.2ECMAScript提案流程
1.3运行JavaScript
1.4浏览器环境
1.5Node.js环境
1.6开发工具
1.7基础语法概览
1.7.1变量与数据类型
1.7.2运算符
1.7.3流程控制
1.7.4函数
1.8严格模式
1.9小结
第2章基础知识
2.1程序结构
2.2变量
2.2.1定义变量
2.2.2变量的命名规范
2.3常量
2.3.1定义常量
2.3.2常量的命名规范
2.4数据类型
2.4.1typeof
2.4.2Number类型
2.4.3Boolean类型
2.4.4String类型
2.4.5Null与Undefined类型
2.4.6Object类型
2.4.7Symbol类型
2.4.8BigInt类型
2.4.9Array类型
2.4.10基本类型的特点
2.5数据类型转换
2.5.1隐式类型转换
2.5.2显式类型转换
2.6小结
第3章运算符
3.1赋值运算符
3.2数学运算符
3.2.1一元数学运算符
3.2.2二元数学运算符
3.2.3计算顺序与优先级
3.3比较运算符
3.4逻辑运算符
3.5Nullish Coalescing运算符
3.6三目运算符
3.7位运算符
3.7.1与运算
3.7.2或运算
3.7.3异或运算
3.7.4取反运算
3.7.5左移运算
3.7.6右移运算
3.7.7补零右移运算
3.8组合运算符
3.9其他运算符
3.10优先级表
3.11小结
第4章流程控制
4.1语句
4.2if...else语句
4.3if...else if...else语句
4.4switch...case语句
4.5while语句
4.6do...while语句
4.7for语句
4.8break和continue语句
4.9label语句
4.10小结
第5章函数
5.1声明函数
5.2调用函数
5.3函数表达式
5.4箭头函数
5.5可选与默认参数
5.6可变长度参数
5.6.1arguments
5.6.2rest运算符
5.7回调函数
5.8作用域
5.8.1全局作用域
5.8.2局部作用域
5.8.3提升机制
5.8.4临时隔离区
5.9闭包
5.10递归
5.11高阶函数
5.12柯里化
5.13Memoization
5.14纯函数
5.15小结
第6章数组
6.1创建数组
6.2访问数组
6.3修改元素
6.4删除元素
6.5栈和队列模式
6.6数组遍历
6.7数组过滤和测试
6.8数组排序
6.9数组连接
6.10数组裁切
6.11搜索元素
6.12数组与字符串
6.13数组填充
6.14数组复制
6.15扁平化
6.16解构赋值
6.17扩展语法
6.18多维数组
6.19小结
第7章对象
7.1创建对象
7.1.1简化属性
7.1.2计算属性名
7.2访问与添加对象属性
7.3遍历对象属性
7.4删除对象属性
7.5getters和setters
7.6属性描述符
7.6.1配置属性描述符
7.6.2配置多个属性描述符
7.6.3获取属性描述符
7.6.4不可扩展对象
7.7原型
7.7.1获取原型对象
7.7.2原型链
7.7.3Object.create()
7.8构造函数
7.8.1定义
7.8.2this
7.9toString()和valueOf()
7.10call()、apply()与 bind()
7.10.1call()
7.10.2apply()
7.10.3bind()
7.11对象复制
7.12解构赋值与rest运算符(对象)
7.13with语句
7.14值传递与引用传递
7.15小结
第8章面向对象基础
8.1简介
8.2创建类
8.2.1定义构造函数
8.2.2实例化对象
8.2.3添加行为
8.2.4注意事项
8.3实现继承
8.4抽象类
8.5成员变量
8.6静态成员
8.7小结
第9章字符串与正则表达式
9.1字符串介绍
9.2字符串遍历
9.3字符串操作
9.3.1拼接
9.3.2裁切
9.3.3搜索
9.3.4分割
9.3.5其他操作
9.4模板字符串
9.5正则表达式介绍
9.6正则表达式语法
9.6.1特殊字符匹配
9.6.2匹配次数
9.6.3区间、逻辑和界定符
9.6.4分组
9.7字符串中的正则
9.8RegExp对象
9.9常见的正则表达式
9.10小结
第10章内置对象
10.1基本类型包装对象
10.2Math
10.3Date
10.3.1获取日期
10.3.2修改日期
10.3.3解析日期
10.3.4日期比较
10.4JSON
10.4.1序列化
10.4.2反序列化
10.5Set
10.6Map
10.7迭代器、可迭代对象和生成器
10.7.1迭代器
10.7.2可迭代对象
10.7.3生成器与生成器函数
10.8TypedArray
10.8.1创建类型数组
10.8.2属性和方法
10.9Symbol
10.9.1Symbol.match
10.9.2Symbol.toStringTag
10.9.3Symbol.isConcatSpreadable
10.9.4Symbol.toPrimitive
10.9.5Symbol.hasInstance
10.9.6Symbol.species
10.10Console
10.10.1调试
10.10.2显示
10.10.3记录
10.11Reflect
10.12Proxy
10.12.1处理对象
10.12.2不变性
10.12.3可回收代理
10.13小结
第11章异常处理
11.1捕获异常
11.2throw抛出异常
11.3Error对象
11.4自定义异常
11.5finally
11.6捕获多个异常
11.7小结
第12章异步编程
12.1setTimeout()
12.2setInterval()
12.3Promise
12.3.1创建Promise
12.3.2链式调用
12.3.3处理异常
12.3.4执行多个Promise
12.4async/await
12.4.1定义异步函数
12.4.2使用await
12.4.3处理异常
12.5异步迭代
12.6Event Loop
12.6.1调用栈
12.6.2Event Loop
12.7小结
第13章模块化
13.1实现模块化的方式
13.2模块化配置
13.2.1导出模块
13.2.2导入模块
13.2.3默认导出
13.2.4别名导入
13.2.5再导出
13.2.6动态导入
13.3Node.js原生模块管理
13.4小结
第14章案例与总结
14.1面向对象设计示例: 线上服装商城
14.1.1需求
14.1.2Clothing衣服类
14.1.3Store商城类
14.1.4User用户类
14.1.5Address地址类
14.1.6Cart购物车类
14.1.7Order订单类
14.1.8示例
14.2函数式编程示例: 扩展数组API
14.2.1元素
14.2.2交集
14.2.3并集
14.2.4差集
14.2.5对称差集
14.2.6求和
14.2.7平均值
14.2.8范围
14.2.9分割
14.2.10频次
14.2.11导出
14.2.12调用示例
14.3下一步规划
14.3.1前端
14.3.2后端
14.3.3特定领域
14.4写在后