ホームページ >ウェブフロントエンド >jsチュートリアル >定義直後に匿名 JavaScript 関数を呼び出すのはなぜですか?
同じ行で匿名関数を呼び出す理由
クロージャを使用する場合、匿名関数を同じ行で呼び出すのが一般的です。定義されています。これは恣意的なように見えるかもしれませんが、JavaScript が関数宣言を処理する方法を考慮すると、適切な実行には不可欠です。
JavaScript での関数定義
JavaScript では、関数を定義するための 3 つの方法が使用できます。
宣言と式の主な違い
匿名関数と改行
匿名関数は、名前付き関数とは異なる動作をします。匿名関数式を記述する場合、必要に応じて括弧内に識別子を指定できますが、必須ではありません。
匿名関数を定義した後に改行すると、JavaScript はそれを関数宣言として解釈します。ただし、識別子が指定されていないため、宣言は無効な構文になります。
例:
このコードは、匿名関数式を作成し、それを同じ行で呼び出します。
(function(msg) { alert(msg); })('Hello');
無効です例:
改行してかっこを省略すると、不正な関数宣言になります:
function(msg) { alert(msg); } ('Hello'); // Syntax error: Invalid function syntax without an identifier
機能させるには、かっこを追加する必要があります匿名関数を呼び出すには式:
function(msg) { alert(msg); }('Hello');
結論
同じ行で匿名関数を呼び出すと、それらが関数式として正しく実行され、関数式として誤って解釈されることがなくなります。識別子が欠落している関数宣言。
以上が定義直後に匿名 JavaScript 関数を呼び出すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。