js の関数オブジェクトは魅力的ですが、柔軟性が高すぎるため、混乱を招くことがよくあります。
ほとんどの人は、
function test () {}
書籍全体「JSVAScript」 Language Essence" 次のように記述します:
var test = function ( ) {}
関数はすぐに実行して割り当てることができます:
var test = function () {} () // test === 未定義
var test2 = function () {return 'sugarcake'}() // test2 === 'sugarcake'
ただし、関数省略形を直接実行することはできません。次のコードはエラーを報告します:
function test() {}() // SyntaxError: 構文エラー
でラップされた場合"()" 演算子、これは正常です:
( function test () {})();
実際、関数名 test には意味がないため、削除しても匿名関数になり、関数本体内のコードを自動的に実行できます。一般的に使用される匿名関数の記述方法:
(function () {} )();
匿名関数は次のように書くこともできます。これはより「美しい」かもしれません:
(function () {}());
これを見てください、初めての方は Brother JS がおかしくなっていますか?私のプロジェクトで C 言語に取り組んでいた人が、匿名関数を見た直後に固まってしまったのを見たことがあります...