繁体   English   中英

访问所有本地变量

[英]Access all local variables

javascript中的每个全局变量都是'window'的属性

显然所有局部变量(以及参数)都存储为“调用对象”的属性(参见每个函数的第4.6.2章。可能只在所述函数的生命周期内存在。)

基本上我希望能够做到

for (var obj in CallObject ) { // }

我可以访问包含局部变量的所述对象,如果是,如何? 或者,有任何其他方法来访问函数的所有局部变量。

[编辑]

事实证明,参数是函数的激活对象的属性。 这必须存储在某个地方。

“激活对象纯粹是一种规范机制.ECMAScript程序不可能访问激活对象。”

结果证明ECMAScript状态我不允许访问它。

如何访问参数属性并以某种方式链接到局部变量?

不可以。在JavaScript的任何浏览器实现中都无法做到这一点。

从理论上讲,实现可以提供一个扩展,允许代码检查当前的Variable对象(也就是函数中的Activation对象;“Call object”是由Flanagan组成的术语,在ECMAScript规范中没有提到)但是没有实现,我知道这样做。

你会在每个函数中得到一个名为“arguments”的隐式数组,但除此之外没有这样的东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM