总结

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