1

Python では、Python コードを含む文字列を取得してコンパイルし、結果のコードを exec で実行できます。

同様のことをJavaScriptで行うことはできますか(どの実装でも良いです)。私の目的は、javascript の eval のようなものをより高速に取得することです。

ありがとうございました

4

2 に答える 2

1

JavaScript は動的な性質を持っているため、下位レベルの言語に簡単にコンパイルすることはできません。これが、spidermonkey や V8 などが Just-In-Time (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>

上記のコードをコピーして貼り付けて実行すると、ブラウザに「hello」のアラートが表示されます。JavaScript コードを使用して、テキスト領域のコードを変更できます。

于 2019-08-09T09:52:05.663 に答える