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