封面
版权信息
内容简介
作者简介
前言 PREFACE
第1章 简介
1.1 发展历史
1.2 ECMAScript提案流程
1.3 运行JavaScript
1.4 浏览器环境
1.5 Node.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.1 typeof
2.4.2 Number类型
2.4.3 Boolean类型
2.4.4 String类型
2.4.5 Null与Undefined类型
2.4.6 Object类型
2.4.7 Symbol类型
2.4.8 BigInt类型
2.4.9 Array类型
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.5 Nullish 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.2 if...else语句
4.3 if...else if...else语句
4.4 switch...case语句
4.5 while语句
4.6 do...while语句
4.7 for语句
4.8 break和continue语句
4.9 label语句
4.10 小结
第5章 函数
5.1 声明函数
5.2 调用函数
5.3 函数表达式
5.4 箭头函数
5.5 可选与默认参数
5.6 可变长度参数
5.6.1 arguments
5.6.2 rest运算符
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.13 Memoization
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.5 getters和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.3 Object.create()
7.8 构造函数
7.8.1 定义
7.8.2 this
7.9 toString()和valueOf()
7.10 call()、apply()与bind()
7.10.1 call()
7.10.2 apply()
7.10.3 bind()
7.11 对象复制
7.12 解构赋值与rest运算符(对象)
7.13 with语句
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.8 RegExp对象
9.9 常见的正则表达式
9.10 小结
第10章 内置对象
10.1 基本类型包装对象
10.2 Math
10.3 Date
10.3.1 获取日期
10.3.2 修改日期
10.3.3 解析日期
10.3.4 日期比较
10.4 JSON
10.4.1 序列化
10.4.2 反序列化
10.5 Set
10.6 Map
10.7 迭代器、可迭代对象和生成器
10.7.1 迭代器
10.7.2 可迭代对象
10.7.3 生成器与生成器函数
10.8 TypedArray
10.8.1 创建类型数组
10.8.2 属性和方法
10.9 Symbol
10.9.1 Symbol.match
10.9.2 Symbol.toStringTag
10.9.3 Symbol.isConcatSpreadable
10.9.4 Symbol.toPrimitive
10.9.5 Symbol.hasInstance
10.9.6 Symbol.species
10.10 Console
10.10.1 调试
10.10.2 显示
10.10.3 记录
10.11 Reflect
10.12 Proxy
10.12.1 处理对象
10.12.2 不变性
10.12.3 可回收代理
10.13 小结
第11章 异常处理
11.1 捕获异常
11.2 throw抛出异常
11.3 Error对象
11.4 自定义异常
11.5 finally
11.6 捕获多个异常
11.7 小结
第12章 异步编程
12.1 setTimeout()
12.2 setInterval()
12.3 Promise
12.3.1 创建Promise
12.3.2 链式调用
12.3.3 处理异常
12.3.4 执行多个Promise
12.4 async/await
12.4.1 定义异步函数
12.4.2 使用await
12.4.3 处理异常
12.5 异步迭代
12.6 Event Loop
12.6.1 调用栈
12.6.2 Event 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.3 Node.js原生模块管理
13.4 小结
第14章 案例与总结
14.1 面向对象设计示例:线上服装商城
14.1.1 需求
14.1.2 Clothing衣服类
14.1.3 Store商城类
14.1.4 User用户类
14.1.5 Address地址类
14.1.6 Cart购物车类
14.1.7 Order订单类
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 写在最后
更新时间:2023-07-27 15:38:18