gpt4 book ai didi

javascript - 在 node.js 或 V8 中获取闭包的所有值

转载 作者:IT老高 更新时间:2023-10-28 23:22:14 25 4
gpt4 key购买 nike

例如,如果我们假设以下代码:

var f = function() { return 'hello world' };
var x = 10;
var y = 314;

var g = function() {
var buf = [], xx = x;
while (xx--)
buf.append(f() + ' ');
return buf.join('');
}

我可以使用 g.toString() 将实际的“代码”作为 g 的字符串。然而,这并没有(显然)得到 fx —— g 闭包的成员(对不起,如果我没有完全使用这些术语正确。)

有什么方法可以查询函数的闭包内容吗?理想情况下,我可以获得如下对象:

{ 'f' : f, 'x': x } // note that `y` is not here

如果我必须使用 C++ 与 V8 进行特殊交互,那没关系——尽管以某种方式在纯 JavaScript 中这样做是最好的。


我知道这是一个有点奇怪的问题——但我确实有正当理由想要这个!

最佳答案

我找到了 this discussion V8 闭包实现的启发。听起来您正在寻找的 C++ 对象是 Context .

关于javascript - 在 node.js 或 V8 中获取闭包的所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7061596/

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