对象 有属性和方法
    函数 也是一种 对象类型 引用类型 ,也有属性

    1. var test = function a(){ }
    2. test.name = a
    3. test.length = 0
    4. test.prototype

    [[scoped]] 是函数创建时,生成一个js内部的隐式属性,只能给js引擎读取的
    函式存储作用域链的容器,作用域链
    AO 函数执行期上下文 GO 全局的执行上下文
    AO在函数执行完之后会被销毁的,再次调用的时候后再生成
    AO是一个即时的存储容器

    函数在被定义的时候,系统生成的[[scope]]属性,[[scope]]保存该函数的作用域链,该作用域链的第0位存储当前环境下的全局执行期上下文GO , GO里面存储全局的所有对象
    image.png
    函数在被执行的(前一刻 ),作用域链的顶端(第0位)存储a函数生成函数执行期上下文AO,同时第一位存储GO,查找变量世道a函数存储的作用域链中从顶端开始依次向下查找。
    image.png