【发布时间】:2015-11-21 20:51:06
【问题描述】:
似乎可以在JavaScript中获取函数的代码,并且很简单:
function foo() {...}
foo.toString()
但是,在 QML 中这样做给我带来了相当平淡的function () { [code] }
那么有没有办法获得[code] 部分呢?我也试过JSON.stringify(),但没有任何好处。
【问题讨论】:
-
如果它是一个内置函数,显示代码就没有用了,因为它很可能是用 c++ 编写的。
-
我得到每个函数的
[code],无论它们是内置的,来自 c++ 还是自定义用户 JS 函数。 -
这绝不是您问题的答案,但我想在这里提出警告。函数是javascript中抽象的基本手段。我可以看到能够在运行时检查函数代码对于测试和工具的用途是多么有用,但这将打破抽象障碍,并可能导致难以维护的紧密耦合代码。跨度>
-
目的是将非js源码创建的动态组合的对象序列化成代码。可以对属性执行此操作,但不能对函数执行此操作。
-
确实不是 js 兼容的环境。反正我从来没有注意到。
标签: javascript qt function qml tostring