我理解的V8都干了什么

一段伪代码 目的是睡服自己理解V8都干了什么
`

// 伪代码

// 编译器 都干了什么 确定 作用域链 词法作用域

var  VOFoo = {} // foo的变量对象

var  VOBar = {} // bar的变量对象

var  fooScopeChain = \[VOFoo, window\] // foo的作用域链

var  barScopeChain = \[VOBar, VOFoo, window\] // bar的作用域链

// 引擎 都干了什么

function  foo() {

    // 创建阶段
    // 给foo的变量对象赋值
    VOFoo = {

        args: \[\],

        bar:  bar,

        a:  undefined,

        b:  undefined

    }
    // 给foo的执行上下文赋值
    var  ECFoo = {

        VO:  VOFoo,

        ScopeChain:  fooScopeChain,

        this:  window

    }

    // 执行阶段

    VOFoo.a = 20

    VOFoo.b = 30



    function  bar() {

        // 创建阶段
        // 给bar的变量对象赋值
        VOBar = {

            args: \[\]

        }
        // 给bar的执行上下文赋值
        var  ECBar = {

            VO:  VOBar,

            ScopeChain:  barScopeChain,

            this:  window

        }

        return  a + b

    }

    return  bar

}

`
以上代码纯属yy

你可能感兴趣的:(前端,javascript)