微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 获取node.js或V8中的所有值的值

例如,如果我们假设以下代码
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()获得实际的“code”作为一个g的字符串.然而,这显然不会得到f和x的关闭g的成员(如果我没有正确使用这些术语,那么抱歉)

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

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

如果我不得不放弃C与V8的特殊交互,那没关系 – 尽管以纯粹的JavaScript做的这一切将是最好的.

我知道这是一个奇怪的问题 – 但我确实有一个合理的理由想要这个!

解决方法

我发现 this discussion的V8关闭实现启发.听起来像您正在寻找的C对象是 Context.

原文地址:https://www.jb51.cc/js/155008.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐