一尘不染

是否有一个Javascript变量代表本地范围?喜欢全球?

node.js

global是一个包含任何全局变量的对象(至少在Node.js中,它们window在浏览器中)。

是否有一个类似的变量代表当前范围?局部变量未显示在global(有充分的理由:))

asdf = "hello";
var local = "hello";

console.log(global); // includes asdf
console.log(???);    // includes local?

阅读 189

收藏
2020-07-07

共1个答案

一尘不染

是否有一个对象代表本地范围?

是。有。

您可以直接访问该对象吗?

不,你不能。

为什么?JavaScript仅具有函数作用域-这是 执行上下文 。在 执行Context中 ,一个 Activation对象
(也称为call object)用于创建局部变量作为其属性。然而,

…这不是普通对象,因为它没有原型(至少不是已定义的原型),并且无法由javascript代码直接引用。

参考

2020-07-07