是否有表示本地范围的Javascript变量?像全球?

时间:2011-11-18 14:10:15

标签: javascript node.js

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

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

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

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

1 个答案:

答案 0 :(得分:21)

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

是。有。。

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

没有。你不能。

为什么呢? JavaScript只有函数作用域 - 这是执行上下文。在执行上下文中,激活对象(也称为call object)用于创建局部变量作为其属性。但是,

  

...它不是普通的对象,因为它没有原型(至少没有定义的原型),它不能被javascript代码直接引用。

Reference