2013-01-12 5 views
9

可能性の重複:
Are “(function () { }) ()” and “(function () { } ())” functionally equal in JavaScript?これらの3つの形式の自己起動型無名関数の違いは何ですか?

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

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

私はこれらの例ものの見えたとき、無名関数の自己呼び出しは、3つの形式がありました。

1は

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

だったし、別の

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

し、他方は

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

これらの三つの形式の違いは何ですか?でしたか

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

+3

もう一つは構文エラーです。 –

答えて

6

最初と最後は事実上同一です。違いはスタイルの問題です。それは関数宣言代わりの機能発現することができ、すぐに関数宣言を呼び出すことができない(それがどこにあるかに応じて)として

目は危険です。

1

進行機能は有効な構文ではありません:それは一人で立っている場合

function() { 
    //do something 
}(); 
関連する問題