evalのは、何をしているのですか?

evalの()アクション:

JSは、文字列パラメータコードと実行に解析され、実行結果を返します。

例えば:

評価は、(2 + 3 ); // その動作を実行し、計算された値を返します。
evalの(" VAR年齢= 10 "); // 変数の年齢を宣言します

evalのスコープ

関数(){ 
   評価(" VAR X = 1。"); // 等価1 = XのVAR; 
   にconsole.log(X); // 。出力1 
} 
A(); 
にconsole.log(X); // エラーxが定義されていません。

コンテンツのすべての範囲の効果的な説明スコープ

例2:

関数(){ 
   window.eval(" VAR X = 1。"); // = 1をwindow.xと同等に、グローバル変数を定義する 
   にconsole.log(" X "); // 。出力1 
} 
A(); 
console.log(X); // 出力1

このコードの悲劇?IE8でIE8とどのバージョンはサポートされていません。 

 

 ソリューション:

関数A(){
  IF(window.execScript){ // サポートIE8およびバージョン以下 
  window.execScript(" VARのX = 1。" ); 
 } 
  { // 従来のブラウザがサポート 
  window.eval(VARのXが= 。1 " ); 
 } 
 にconsole.log(X); 
} 
A(); 
にconsole.log(X)。

注意事項

あなたは(一度のjsの文に解析2回、一度実行)のeval、不安、巨大なパフォーマンスを使用しないでください。

他のアクション

JSONオブジェクトにJSON文字列は、例えば、ときにevalを使用することができます。

VaRの JSON = " {名: 'Mr.CAO'、年齢:30} " VAR jsonObj =のeval(" " + JSON " " ); 
console.log(jsonObj)。

 

おすすめ

転載: www.cnblogs.com/psxiao/p/11569954.html