匿名関数とは、名前のない関数です。例:
function (){
alert(' a function');
}
ただし、上記のコードはエラーを報告します。 Firebug プロンプト: 関数ステートメントには名前が必要です。つまり、関数には名前が必要です。
奇妙なことに、この名前のない関数を () のペアでラップすると、エラーは報告されません。例:
(function (){
alert( 'a function');
})
(() に注意してください!) これはエラーを報告しませんが、関数は正常に宣言されましたか?エラーが報告されないのは、まったく記述がないからですか?次のようにテストしてみましょう: 関数自体を 1 回実行します:
( function (){
alert('a function');
}())
ご覧のとおり、関数が実行され、関数が存在します。
同様に、この時点で関数を囲んでいる () を削除しても、以前のエラーが報告されたままとなり、関数は実行されません。 。 。
function (){
alert( 'a function ');
}()
これは関数をラップする () にとってそれほど重要ですか?専門家がその原理を説明できる人はいるだろうか?