总结
- 全局作用域和局部作用域
- 全局作用域,
<script>
标签内部。还有 引入的xxx.js
的最外层 - 局部作用域
- 函数作用域
- 块级作用域
- 全局作用域,
- 作用域链
- 说的就是变量的查找过程
- 在某个作用域中,使用一个变量的时候,优先使用当前作用于的 变量
- 如果当前作用域没有这个变量,则向上层查找
- ………..
- 一直找到全局作用域,如果还没有找到,则报错
- 闭包
- 闭包是 一个函数及其函数作用域所组成的一个组合。
- 函数中,如果返回了另外一个函数,则会形成闭包
- 使用了闭包之后,函数会永驻内存,不会释放
- 为了避免内存泄漏(内存占用过多),当我们不用闭包的时候,可以让 ”返回值=null”
- 提升
- 用function声明的函数的提升,函数的提升会提升到当前作用域的最前面
- var声明的变量具有变量提升,提升也仅仅是把变量的声明过程提升(赋值还是要在后面赋值的)
- 代码类的,自行查看代码