global
是一个包含任何全局变量的对象(至少在Node.js中,它们位于浏览器的window
中)。
是否有代表当前范围的类似变量?局部变量没有显示在global
中(有充分理由:))
asdf = "hello";
var local = "hello";
console.log(global); // includes asdf
console.log(???); // includes local?
答案 0 :(得分:21)
是。有。。
没有。你不能。
为什么呢?
JavaScript只有函数作用域 - 这是执行上下文。在执行上下文中,激活对象(也称为call object
)用于创建局部变量作为其属性。但是,
...它不是普通的对象,因为它没有原型(至少没有定义的原型),它不能被javascript代码直接引用。