1

在 python 中,可以获取包含 python 代码的字符串,对其进行编译并使用 exec 运行生成的代码。

可以用javascript做类似的事情吗(任何实现都很好)。我的目标是获得类似 javascript 的 eval 但更快的东西。

谢谢

4

2 回答 2

1

由于 javascript 的动态特性,您不能很容易地将其编译为较低级别的语言。这就是为什么 spidermonkey、V8 等是即时 (JIT) 编译器的原因——它们使用运行时类型信息来部分编译片段,有时比提前编译器更有效。

也许您想查看闭包编译器?https://developers.google.com/closure/compiler/

于 2013-05-20T10:29:40.287 回答
0

JSeval()类似于 Python 函数eval()。使用eval(),我们可以结合使用 HTML 和 JS 来创建非常简单的 JavaScript 编辑器,如下所示:

<!DOCTYPE html>
<head>
<title>JavaScript Editor</title>
<script>
function runCode() {
   var code = document.getElementById('txtCode').value;
   eval(code);
}
</script>
</head>
<body>
<textarea id = "txtCode" cols = "50" rows = "5">alert("hello");</textarea>
<input type = "button" value = "Run" onClick="runCode();"/>
</body>
</html>

如果你复制并粘贴上面的代码并运行它,它会在浏览器中产生“你好”的警报。您可以使用 JavaScript 代码更改文本区域中的代码。

于 2019-08-09T09:52:05.663 回答