の eval() 式の評価には JavaScript の関数が使用されます。これは、指定された文字列を JavaScript コードとして評価し、実行する JavaScirpt のグローバル関数です。
のパラメータ eval() 関数は文字列です。パラメータがステートメントを表す場合、eval() はステートメントを評価します。パラメータが式の場合、eval() は式を評価します。のパラメータの場合、 eval() が文字列ではない場合、関数はパラメータを変更せずに返します。
使用にはいくつかの制限があります eval() 関数など eval() セキュリティ上の理由により、この機能の使用は推奨されません。速度が遅くなり、コードが読みにくくなるため、使用はお勧めしません。
構文
eval(string)
価値観
次のように定義される単一のパラメーターを受け入れます。
文字列が空です
弦: それは、 JavaScript 式、単一のステートメント、または一連のステートメント。変数、ステートメント、または JavaScript 式を指定できます。
JavaScriptを理解しよう eval() イラストを使って機能を説明します。
例1
これは、を使用して式を評価する簡単な例です。 eval() 関数。この例には、いくつかの変数があります。変数 a、b、c に eval() 関数を適用して、合計、乗算、減算を計算します。
var a = 10, b = 20, c = 30, sum, mul, sub; sum = eval(' a + b + c '); mul = eval(' a * b * c'); sub = eval(' a - b'); document.write(sum + ' <br>'); document.write(mul + ' <br>'); document.write(sub);今すぐテストしてください
出力
上記のコードを実行すると、出力は次のようになります -
60 6000 -10
例2
この例では、 eval() 関数。ここに関数があります 楽しい() 2 つの引数を持ち、両方のパラメータの乗算を返します。
SQL連結
で関数を呼び出しています。 eval() 関数を実行し、結果を レス 変数。
var res; function fun(a, b) { return a * b; } eval('res = fun(50, 50);'); document.write(res);今すぐテストしてください
出力
コードの実行後の出力は次のようになります -
2500
例 3 - JavaScript ステートメントを使用して文字列を評価する
この例では、 eval() JavaScript ステートメントを使用して文字列を評価する関数。ここに文字列があります str 、JavaScript 条件付き if-else 声明。変数の値を照合しています 'バツ' の値の場合、 バツ は 0 、出力は次のようになります '日曜日' それ以外の場合、出力は次のようになります。 '月曜日' 。
JavaScriptのコールバック地獄
var x = 0; var str = 'if(x == 0) {'SUNDAY'} else 'MONDAY';'; document.write('The output is : ', eval(str));今すぐテストしてください
出力
コードの実行後の出力は次のようになります -
The output is : SUNDAY
例 - 文字列を JavaScript オブジェクトに変換する
この例では、文字列を JSON オブジェクトに変換しています。ここで、文字列 str コードではなくデータが含まれます。データを JSON に切り替える必要があります。これにより、文字列がデータを表すために JavaScript 構文のサブセットを使用できるようになります。
ここではオブジェクトを使用しています オブジェクト データを表すために。
Javaクラスの例
var str = '({'fname' : 'Harry', 'lname' : 'Rickman'})'; var obj = eval(str); document.write(obj.fname + ' ' + obj.lname);今すぐテストしてください
出力
コードの実行後の出力は次のようになります -
Harry Rickman