• 全局作用域、局部作用域
    • 作用域组成是由:全局的vo 或者是局部的ao 对象、[scope]、this 组成。
    • 局部的ao对象跟全局的vo对象区别在于局部的ao对象是有函数参数。
    • 词法作用域是在函数声明时就定义的。
    • 闭包

    闭包:闭包的原理就是内部的函数拥有外部函数的作用域,就相当于拥有外部函数的ao对象+arguments对象,在外部函数调用完之后虽然外部函数是会在队列里销毁掉,但是外部的作用域是不会被销毁。
    内存泄露:作用域不会被清除,一直占用内存。
    元素加事件、setTimeout、setInterval、函数中返回一个函数。
    闭包使用的场景:累加、减。。。
    ```
    function fun(){
    var aa = 1
    return function a(){
    }
    }
    var b = fun()

    • fun的作用域:{
      ao:{aa:undefined}, // 初始是undefined,调用的时候才去赋值
      scope:全局global.vo 对象 + 自身的ao对象,
      this,
      }

    ```