gpt4 book ai didi

javascript - 访问所有局部变量

转载 作者:可可西里 更新时间:2023-11-01 01:54:07 27 4
gpt4 key购买 nike

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

显然所有局部变量(以及参数)都存储为 'Call object' 的属性(请参阅每个函数的第 4.6.2 章。大概只在所述函数的生命周期内存在。

基本上我希望能够做到

for (var obj in CallObject ) { // }

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

[编辑]

事实证明,arguments 是函数的 Activation Object 的属性。这必须存储在某个地方。

"The activation object is purely a specification mechanism. It is impossible for an ECMAScript program to access the activation object."

原来 ECMAScript 声明我不允许访问它。

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

最佳答案

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

从理论上讲,实现可以提供扩展以允许代码检查当前变量对象(又名函数中的 Activation 对象;“调用对象”是 Flanagan 提出的一个术语,在 ECMAScript 中的任何地方都没有提到spec) 但据我所知没有实现可以做到这一点。

关于javascript - 访问所有局部变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3831932/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com