JavaScript的执行环境
来源:互联网 发布:毕业证复印件制作软件 编辑:程序博客网 时间:2024/05/01 13:14
JavaScript的解释器每次开始执行一个函数时,都会为那个函数创建一个执行环境(execution context)。显然,一个执行环境就是所有JavaScript代码段执行
时所在的环境,这个环境的一个重要组成部分就是定义变量的对象,因此,运行不属于任何函数的JavaScript代码对环境使用的就是全局对象,所有JavaScript函数
都运行在自己独有的执行环境中,而且具有自己的调用对象,在调用对象中定义了局部变量。
既然我们知道全局变量就是全局对象的属性,而局部变量是一个特殊的调用对象的属性,每个JavaScript执行环境都有一个和它关联在一起的作用域链(scope chain),
这个作用域链是一个对象列表或者对象链,当JavaScript代码需要查询变量x的值时,它就开始查看该链的第一个对象,如果那个对象有一个x的属性,那么就采用那个属性
的值,如果第一个对象没有名为x的属性,那么就继续查询第二个对象,依次类推。
在JavaScript的顶层代码中,作用域链只由一个对象构成,那就是全局对象,所有的变量都是在这一个对象中查询的,如果一个变量并不存在,那么这个变量的值就是
未定义的。在一个函数中,作用域链是由两个对象构成的,第一个是函数的调用对象,第二个就是全局对象。当函数引用一个变量时,首先检查的是调用对象(局部作用域),
其次才检查全局对象。
- JavaScript的执行环境
- JavaScript的执行环境
- JavaScript的执行环境和执行环境栈
- javascript的执行环境及作用域
- JavaScript的执行环境及作用域
- javascript执行环境
- JavaScript 执行环境
- JavaScript 执行上下文环境
- JavaScript中的执行环境
- JavaScript执行环境
- JavaScript执行环境
- JavaScript执行环境详解
- JavaScript执行环境和执行环境对象
- 关于JavaScript的执行环境与作用域的解读
- javascript的执行环境和作用域的理解
- javascript执行环境和栈
- 深入探讨JavaScript的执行环境和栈
- javascript中作用域链和执行环境的理解
- mysql_编码问题
- webkit引擎的浏览器取消默认样式:-webkit-appearance:none
- 面试常考题之:HashMap和Hashtable的区别
- Chrome报JS警告
- 《tiny6410裸机程序》第八章:S3C6410外部中断控制寄存器
- JavaScript的执行环境
- 学生管理系统修改
- Android Handler Message Looper机制原理
- 如何在linux下写makefile
- SAP问题记录
- linux scsi generic howto学习笔记
- nbu 2430 war of energy
- JAVA对内存的使用和垃圾回收
- gem5运新spec2006(修改)