• 变量对象和活动对象有什么区别.


    函数在创建过程中,并不是直接把函数渲染出来,而是一步步的渲染处理。

    看下面的黑色图片。

    首先说一下,function的优先级会比var声明高一些。

    下面的图片里,定义了test()函数,我们从test()的上下文来进行理解

    函数一开始根据test()函数的属性,来创建对应的变量对象。

    VO:Variable Object 

    把所有的函数生命放进现在声明的变量对象中

    然后把所有的变量声明放进变量对象中

    他们其实都是同一个对象,只是处于执行上下文的不同生命周期。不过只有处于函数调用栈栈顶的执行上下文中的变量对象,才会变成活动对象。

    附加

     在函数里,先执行function的定义。这里有全局函数test()。当然首先建立arguments对象。

    在test里有function,function的优先级比var的要高一些,先执行function

    在创始阶段 foo<foo reference > 

    <>里面的这一块是为后面的function准备好的地址。在发现有var,执行var bar:undefined

    这里注意.

    有两个foo,此时规定 当var声明的变量遇到同名属性时,会跳过不会覆盖

    创建阶段完成,进行执行阶段,这里就是活动对象和变量对象的分界岭了

    end......

  • 相关阅读:
    表字段出现oracle sql语句关键字时
    使用decode函数
    PL/SQL DEVELOPER 使用小技巧
    Linux静态IP设置修改配置文件
    在idea上使用maven搭建ssm,数据库为mysql
    作业
    SQL 简单的生成xml
    使用CppUnit
    tinyXml的使用
    NSIS 使用技巧
  • 原文地址:https://www.cnblogs.com/zx-qd/p/10521968.html
Copyright © 2020-2023  润新知