eval() 関数は JavaScript 文字列を評価し、スクリプト コードとして実行します。
パラメータが式の場合、eval() 関数はその式を実行します。引数が Javascript ステートメントの場合、eval() は Javascript ステートメントを実行します。
文法
参数 | 描述 |
---|---|
string | 必需。要计算的字符串,其中含有要计算的 JavaScript 表达式或要执行的语句。 |
eval() 関数の使用法の詳細な説明:
この関数はあまり頻繁に使用されないかもしれませんが、場合によっては大きな効果があります。 eval() 関数の使用法を紹介します。
この関数は文字列 str をパラメータとして受け取り、この str を JavaScript コードの一部として実行できます。str の実行結果が値の場合はその値を返し、それ以外の場合は未定義を返します。パラメータが文字列でない場合は、パラメータが直接返されます。例は次のとおりです:
eval("var a=1");//声明一个变量a并赋值1。 eval("2+3");//执行加运算,并返回运算值。 eval("mytest()");//执行mytest()函数。 eval("{b:2}");//声明一个对象。
上記のコードでは、最後のステートメントでオブジェクトを宣言しているので、次のように、オブジェクトの外側にかっこの別の層をネストする必要があります。
function a(){ eval("var x=1"); console.log(x); } a(); console.log(x);
function a(){ window.eval("var x=1"); console.log(x); } a(); console.log(x);
function a(){ if(window.execScript){ window.execScript("var x=1"); } else{ window.eval("var x=1"); } console.log(x); } a(); console.log(x);