小智 9
首先,简要介绍读者对词汇环境的看法,以及它与全球环境的关系,以及全球环境与全球对象的关系.
一个词法环境包括:
词法环境继承在其包含的环境中声明的变量定义,并在每次计算try语句的函数声明,块语句或catch子句时创建.在定义它们的词汇环境之外无法访问变量定义.
以下示例:
var声明定义一个全局变量,初始化为一个函数表达式,它创建一个新的词法环境,var声明,这次初始化为一个字符串值,和var hello = function() {
var world = "fubar";
console.log(world); // "fubar";
}
console.log(world); // ReferenceError: world is not defined
Run Code Online (Sandbox Code Playgroud)
的全球环境是一个词法环境的外环境引用为空,并且其包括相关联的全局对象,其属性提供一些对全球环境的识别符绑定的,具体地但不包括通过定义的变量let或const声明,以及其他可能的排除.
var hello = "world";
console.log(hello, window.hello); // "world", "world"
let foo = "bar";
console.log(foo, window.foo) // "bar", undefined
Run Code Online (Sandbox Code Playgroud)
现在,在上下文中回答您的问题:
我看到的列表包含什么,以及它是如何填充的?
您看到的列表包含全局对象的属性,包括:
本答案中包含的信息应符合ECMAScript 2015语言规范,该规范还包含此处使用的大多数术语的定义,我强烈建议您在阅读时轻松浏览该文档.
如果您发现此答案与ECMAScript语言规范之间存在差异,请随时编辑此答案以使其符合要求.
| 归档时间: |
|
| 查看次数: |
223 次 |
| 最近记录: |