访问所有本地变量

Ray*_*nos 13 javascript local

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

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

基本上我希望能够做到

for (var obj in CallObject ) { // }
Run Code Online (Sandbox Code Playgroud)

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

[编辑]

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

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

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

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

Tim*_*own 3

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

从理论上讲,实现可以提供扩展以允许代码检查当前的 Variable 对象(也称为函数内的 Activation 对象;“Call 对象”是 Flanagan 提出的术语,ECMAScript 规范中没有提及),但是据我所知,没有任何实现可以做到这一点。