eval(String) 関数は文字列を評価し、その中の JavaScript コードを実行します。
戻り値
文字列 (存在する場合) を評価して取得された値。
説明
このメソッドは、生の文字列をパラメータとしてのみ受け入れます。文字列パラメータが生の文字列でない場合、メソッドは変更されずに戻ります。したがって、String オブジェクトを引数として eval() 関数に渡さないでください。
ECMAScript 実装では、eval プロパティをオーバーライドしようとしたり、eval() メソッドを別のプロパティに割り当ててそのプロパティを通じて呼び出そうとした場合に、EvalError 例外がスローされることが許可されています。
投げ
パラメータに正当な式やステートメントがない場合、SyntaxError 例外がスローされます。
eval() が不正に呼び出された場合、EvalError 例外がスローされます。
eval() に渡された Javascript コードが例外を生成した場合、eval() は呼び出し元に例外を渡します。
ヒントとメモ
ヒント: eval() は非常に強力ですが、実際の使用ではほとんど使用されません。
例:
<html> <body> <script type="text/javascript"> eval("x=10;y=20;document.write(x*y)") document.write("<br />") document.write(eval("2+2")) document.write("<br />") var x=10 document.write(eval(x+17)) document.write("<br />") eval("alert('Hello world')") </script> </body> </html>
出力:
200
4
24