9

重複の可能性:
「(function ( ) { } ) ( )」と「(function ( ) { } ( ) )」は JavaScript で機能的に同等ですか?

以下の文書を読んでいます。

http://addyosmani.com/resources/essentialjsdesignpatterns/book/#patternity

これらの例を調べたところ、無名関数の自己呼び出しには 3 つの形式がありました。

一つは

(function() {
    //do something
})();

そしてもう一つは

function() {
    //do something
}();

そしてもう一つは

(function() {
    //do something
}());

これらの 3 つの形式の違いは何ですか?

読んでいただきありがとうございます!

4

2 に答える 2

6

最初と最後は事実上同一です。違いはスタイルの問題です。

2 つ目は (場所によっては)関数ではなく関数宣言である可能性があり、すぐに関数宣言を呼び出すことができないため、安全ではありません。

于 2013-01-12T15:14:41.700 に答える
1

先行する関数は有効な構文ではありません:

function() {
    //do something
}();
于 2013-01-12T15:15:55.547 に答える