jQueryのソースコードを読んだことがある人は、jQueryが最初に即時実行関数を使用していることを知っているはずです。即時実行関数はサードパーティのライブラリでよく使用されます。その利点は、変数の汚染 (名前の競合) を避けるために、サードパーティのライブラリに多数あることです。以上は、即時実行関数を使用することです。
1. 即時実行関数 (IIFE) とは何ですか
即時実行関数を理解する前に、以下に示す関数宣言、関数式、無名関数の形式を明確にしましょう。即時実行関数には、( function(){…} )() と ( function (){…} () ) の 2 つの一般的な形式があります。1 つは、括弧演算子で囲まれた匿名関数で、その後に括弧が続きます。もう 1 つは、無名関数の後に括弧があり、関数全体が括弧演算子で囲まれている場合です。これら 2 つの書き方は同等です。関数をすぐに実行したい場合は、2 つの点に注意する必要があります。1 つ目は、関数本体の後に括弧 () があることです。2 つ目は、関数本体が関数宣言ではなく関数式であることです。まず下の図を見てください:
図からわかるように、() 演算子を使用していることに加えて、! 、+、-、=、およびその他の演算子はすべてすぐに実行できます。これらの演算子の機能は、匿名関数または関数宣言を関数式に変換することです。次の図に示すように、関数本体は、演算子を使用して関数式に変換した後の関数宣言の形式になります。実現可能:
2. 即時実行関数を使用する利点
匿名関数を定義すると、新しい関数スコープが作成されます。これは、「プライベート」名前空間を作成するのと同じです。名前空間はグローバル名前空間を破壊し、汚染します。この時点でグローバル オブジェクトにアクセスしたい場合は、jQuery コード構造のようなパラメーターの形式でグローバル オブジェクトを渡すだけです:
ここで、 window はグローバル オブジェクトです。スコープの分離は非常に重要であり、jQuery は何千もの JavaScript プログラムで使用されており、jQuery をインポートするプログラムで使用される変数と競合しないようにする必要がある機能です。
関連する推奨事項:
JS即時実行関数インスタンスの詳細説明
JavaScriptの匿名関数、名前付き関数、即時実行関数IIFEの詳細説明
以上が関数をすぐに実行するjsメソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。