gpt4 book ai didi

javascript - 如何检查 JavaScript 中绑定(bind)的闭包变量?

转载 作者:行者123 更新时间:2023-11-28 06:37:16 24 4
gpt4 key购买 nike

假设我们做了这样的事情(作为构造 Javascript 对象的一部分):

var foo = 3;
this.method = function () { alert(foo); };

现在将生成一个闭包,以确保保留 foo 并可在 method 中使用。有没有办法对当前的闭包进行内省(introspection)?

我正在寻找的是一种枚举method内可用的所有变量的方法,其中应该包括foo。像这样的调试代码将极大地帮助调试闭包的绑定(bind),但我还没有找到它。可以这样做吗?

最佳答案

语言本身不包含这种可能性。事实上,隐藏在 JavaScript 闭包中的数据是少数真正真正私有(private)的东西之一(与 C#、C++、Java 等中的“私有(private)”数据相反,这些数据始终可以通过指针魔法或反射来访问)。

简而言之,这将是编译器级别的事情。您可能希望有一个内置于主要 JavaScript 解释器之一的工具(或者至少具有将此类工具插入核心引擎的内置功能)。 Firefox/Firebug 或 V8/Node.js 中的一个会很好,但我相信我们现在运气不好。

关于javascript - 如何检查 JavaScript 中绑定(bind)的闭包变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34166910/

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