Python では、Python コードを含む文字列を取得してコンパイルし、結果のコードを exec で実行できます。
同様のことをJavaScriptで行うことはできますか(どの実装でも良いです)。私の目的は、javascript の eval のようなものをより高速に取得することです。
ありがとうございました
Python では、Python コードを含む文字列を取得してコンパイルし、結果のコードを exec で実行できます。
同様のことをJavaScriptで行うことはできますか(どの実装でも良いです)。私の目的は、javascript の eval のようなものをより高速に取得することです。
ありがとうございました
JavaScript は動的な性質を持っているため、下位レベルの言語に簡単にコンパイルすることはできません。これが、spidermonkey や V8 などが Just-In-Time (JIT) コンパイラである理由です。ランタイム型情報を使用してフラグメントを部分的にコンパイルし、場合によっては事前コンパイラよりも効率的にコンパイルします。
たぶん、クロージャーコンパイラーをチェックアウトしたいですか? https://developers.google.com/closure/compiler/
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 コードを使用して、テキスト領域のコードを変更できます。