評価の紹介
---評価は、ECMA定義におけるグローバルオブジェクトプロトタイプの方法です。
---評価で受け入れられるパラメーターは、文字列形式のJSコードであり、実行エンジンによって実行されます(「高度なプログラミング」などを覚えて、現時点で新しい実行エンジンを作成してから)結果を評価コールの場所に返します。
<!doctype html> <html> <head> <title> eval Learning </title> <script type = "text/javascript">/*eval( "expression"); exectressionステートメントeval( "("+javascript type+")"); javascript object*/var jsonobj = {"name": "ljl"、 "data":123}; // json、jsonstring = '{"name": "ljl"、 "data":123}'; // javascript文字列タイプ、json var objtype = eval( "("+jsonstring+")"); // json文字をjavascriptオブジェクトアラート(typeof jsonstring); // stringalert(typeof objtype); // objalert(eval(123)); // 123alert(typeof eval( "("+123+"); y = eval( 'x+1'); // 2+1式アラートを実行( 'y ='+y); // 3 </script> </head> <body> </body> </html>サプリメント:要約
評価は、JSの動的な特徴の1つです。それを通して、JSプログラムを直接実行し、結果を返します。一般的な用途は、JSONデータをJSオブジェクトに復元することです。
ただし、実行時にコンテキストオブジェクトを動的に変更できるため、注射攻撃のリスクが生じます。
それを使用するときは、evalの文字列の構文に注意してください。一般的な問題は「ブレース」の問題です