• JavaScript的执行环境


    JavaScript的解释器每次开始执行一个函数时,都会为那个函数创建一个执行环境(execution context)。显然,一个执行环境就是所有JavaScript代码段执行

    时所在的环境,这个环境的一个重要组成部分就是定义变量的对象,因此,运行不属于任何函数的JavaScript代码对环境使用的就是全局对象,所有JavaScript函数

    都运行在自己独有的执行环境中,而且具有自己的调用对象,在调用对象中定义了局部变量。

        既然我们知道全局变量就是全局对象的属性,而局部变量是一个特殊的调用对象的属性,每个JavaScript执行环境都有一个和它关联在一起的作用域链(scope chain),

    这个作用域链是一个对象列表或者对象链,当JavaScript代码需要查询变量x的值时,它就开始查看该链的第一个对象,如果那个对象有一个x的属性,那么就采用那个属性

    的值,如果第一个对象没有名为x的属性,那么就继续查询第二个对象,依次类推。

        在JavaScript的顶层代码中,作用域链只由一个对象构成,那就是全局对象,所有的变量都是在这一个对象中查询的,如果一个变量并不存在,那么这个变量的值就是

    未定义的。在一个函数中,作用域链是由两个对象构成的,第一个是函数的调用对象,第二个就是全局对象。当函数引用一个变量时,首先检查的是调用对象(局部作用域),

    其次才检查全局对象。

  • 相关阅读:
    commons
    Dozer数据对象转换神器
    xstream
    javassist
    JAVA设计模式之单例模式
    单例模式
    OC_自动引用计数器_0x04
    OC_自动引用计数器_0x03
    OC_自动引用计数器_0x02
    OC_自动引用计数器_0x01
  • 原文地址:https://www.cnblogs.com/linaijiao/p/3471107.html
Copyright © 2020-2023  润新知