→、
指定の文字列を JavaScript コードとして評価します。
警告: 文字列から JavaScript を実行することは、非常に大きなセキュリティ リスクを伴います。eval() を使用すると、悪意のある者が任意のコードを実行するのはあまりにも簡単です。
string | JavaScript の式、文を表す文字列です。 |
---|
string が式だった場合はその評価結果を。文だった場合は undefined。
eval() は呼び出し元の権限で渡されたコードを実行する危険な関数です。悪意のある第三者に影響を受ける可能性のある文字列で eval() を実行すると、あなたのウェブページ/拡張機能の権限でユーザーのマシン上で悪意のあるコードを実行してしまう可能性があります。さらに重要なことに、サードパーティのコードは eval() が呼び出されたスコープを見ることができるので、類似の、Function では影響を受けない方法でも攻撃を受ける可能性があります。
D=eval("2 + 2"); //=[number]:4 D=eval(new String("2 + 2")); //=[object]:2 + 2 //0=[string]:2 //1=[string]: //2=[string]:+ //3=[string]: //4=[string]:2 DA=new String("2 + 2"); D=eval(DA.toString()); //=[number]:4 D=eval(String("2 + 2")); //=[number]:4 //文と見なされる: D=eval("2+2; alert(10)"); //「10」が表示され、 //=[undefined]:undefined //が、返される。 //eval() より良い方法: D=Function("return 2 + 2")(); //=[number]:4