gpt4 book ai didi

javascript - 局部作用域对象

转载 作者:数据小太阳 更新时间:2023-10-29 05:35:55 25 4
gpt4 key购买 nike

我很好奇 JavaScript 中是否存在“局部作用域对象”之类的东西。如果你调用一个函数,它有一个上下文 (this),这是它被调用的对象 (function f() {return this;}; obj.f = f; obj.f();//返回 obj;) 和一个在每次函数调用时创建的作用域。作用域用于定义局部变量,如下例所示:

var globalScopeVar = 1;
(function() {
var localScopeVar = 2;
})();

在这两个范围内,this 指的是全局上下文(通常是 window),因为该函数尚未在任何对象上调用。不过,我感兴趣的是“范围对象”,即定义范围内变量的对象。对于全局范围,这通常是 window,就像全局上下文一样:

window.globalScopeVar; // 1

但是,函数调用的局部范围内的“范围对象”是什么?它是否存在或是否可以访问?有什么方法可以访问定义了 localScopeVar 的对象吗?

(function() {
var localScopeVar = 2;
localScope.localScopeVar; // 2
})();

这个例子中的localScope是什么?

最佳答案

localScope 是一个 Lexical Environment .

作为对您的问题 是否可访问 的回答,ECMAScript 语言规范说明如下:

It is impossible for an ECMAScript program to directly access or manipulate such values.

关于javascript - 局部作用域对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28408707/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com