这是一本帮助新人提高学习效率的书;它分享了 JavaScript的核心知识链。
这是一本告诉读者如何进阶的书;它可以帮助读者拥有进一步学习流行前端框架的能力,拥有在前端方向自主学习、自主进步的知识基础与能力。
本书针对JavaScript 中的核心技术,结合前沿开发实践,对JavaScript 的内存、函数、执行上下文、闭包、面向对象、模块等重点知识,进行系统全面的讲解与分析。每一个知识点都以实际应用为依托,帮助读者更加直观地吸收知识点,为学习目前行业里的流行框架打下坚实基础。本书适合JavaScript 初学者,有一定开发经验但是对于JavaScript 了解不够的读者,以及开发经验丰富但没有形成自己知识体系的前端从业者。
1 三种基础数据结构1
1.1 栈 1
1.2 堆 3
1.3 队列 4
2 内存空间5
2.1 基础数据类型与变量对象. 5
2.2 引用数据类型与堆内存空间 7
2.3 内存空间管理 9
3 执行上下文11
3.1 实例1 11
3.2 实例2 15
3.3 生命周期 18
4 变量对象20
4.1 创建过程 20
4.2 实例分析 23
4.3 全局上下文的变量对象 26
5 作用域与作用域链27
5.1 作用域 27
5.1.1 全局作用域27
5.1.2 函数作用域28
5.1.3 模拟块级作用域 29
5.2 作用域链 31
6 闭包33
6.1 概念 33
6.2 闭包与垃圾回收机制 38
6.3 闭包与作用域链 39
6.4 在Chrome 开发者工具中观察函数调用栈、作用域链与闭包 41
6.5 应用闭包 49
6.5.1 循环、setTimeout 与闭包49
6.5.2 单例模式与闭包 50
6.5.3 模块化与闭包 53
7 this 59
8 函数与函数式编程67
8.1 函数 67
8.2 函数式编程. 75
8.2.1 函数是一等公民 77
8.2.2 纯函数 80
8.2.3 高阶函数 85
8.2.4 柯里化 91
8.2.5 代码组合 101
9 面向对象106
9.1 基础概念 106
9.1.1 对象的定义106
9.1.2 创建对象 107
9.1.3 构造函数与原型 108
9.1.4 更简单的原型写法114
9.1.5 原型链 114
9.1.6 实例方法、原型方法、静态方法117
9.1.7 继承118
9.1.8 属性类型 122
9.1.9 读取属性的特性值127
9.2 jQuery 封装详解 127
9.3 封装一个拖曳对象. 134
9.4 封装一个选项卡 147
9.5 封装无缝滚动 153
10 ES6 与模块化159
10.1 常用语法知识 160
10.2 模板字符串 167
10.3 解析结构 168
10.4 展开运算符 171
10.5 Promise 详解173
10.5.1 异步与同步173
10.5.2 Promise. 175
10.5.3 async/await 185
10.6 事件循环机制 189
10.7 对象与class 197
10.8 模块化 202
10.8.1 基础语法 204
10.8.2 实例209