ホームページ >ウェブフロントエンド >jsチュートリアル >Javascript学習メモ4 Eval関数_基礎知識

Javascript学習メモ4 Eval関数_基礎知識

WBOY
WBOYオリジナル
2016-05-16 18:36:491060ブラウズ

eval の機能は実際には非常に単純で、文字列を JS インタープリターに渡し、JavaScript インタープリターがその文字列を Javascript コードに解釈して実行します。
最も単純な例:

コードをコピー コードは次のとおりです。

< script type="text/javascript">
eval("alert(1 1)");

非常に単純で、文字列を JS に解釈します。コードが実行され、2 がポップアップ表示されます。
もちろん、上記の例は単なるおもちゃであり、実際に使用するほど愚かな人はいないでしょう。 eval 関数を使用する最も基本的な方法は、DOM 内で行うことだと思います。たとえば、div1、div2、div3 がある場合、document.getElementByID を使用するときに ID を取得する方法はありません。このようなプログラムを結合するには eval を使用します。例:

コードをコピー コードは次のとおりです:


最も基本的な使い方を説明した後でも、この関数の用途がそれほど多くないとしても、誰もが興味を持っていると思います。つまらない。次に、eval() 関数を少しずつ見てみましょう。
eval のスコープから始めて、この関数を見てみましょう:

コードをコピー コードは次のとおりです:
>

コードは非常に単純で、結果がポップアップ表示されます。次に、このコードを比較します。


コードをコピー コードは次のとおりです:


結果は、最初に 3 が表示され、次に未定義になります。
次に説明します。eval() 関数によって動的に実行されるコードは新しいスコープを作成せず、そのコードは現在のスコープで実行されます。つまり、 eval() 関数は、現在のスコープ内の this、引数、および他のオブジェクトも使用できます。
IE では、eval() によく似た execScript() という関数がサポートされています。簡単なコードを書くことができます。



コードをコピー


コードをコピー
コードは次のとおりです:


これは非常に強引なので、快適かどうかについては議論しません。そのような状況について話し合いましょう。




コードをコピー

コードは次のとおりです。