我知道根本不建议使用 eval,我也阅读了此链接。在 Eval 中设置变量 (JavaScript)
然而,这就是我想做的。假设我们在文本框中有一些代码。所以我必须获取该文本,然后找出该代码中的所有全局变量、函数和对象。我的想法是将代码包装在命名空间中,对其进行评估,然后迭代命名空间的属性以获取结果。但是,即使 eval 成功运行,我也无法访问那里定义的变量。是否有更好的解决方案或其他方法来使其正常工作。
http://jsfiddle.net/DbrEF/2/ - 这是这里的小提琴。
“var code”实际上可以是任意代码。我知道这样做不安全,但我需要它用于不同的环境。谢谢
在 2015 年,创建一个Function对象是你最好的选择,而不是使用eval:
new Function('arg1', 'arg2', 'return arg1 + arg2')(3,4) // returns 7
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5020 次 |
| 最近记录: |