次のように定義するコードを知っている人はいますか:
!function(window, undefined) {
// do something
} (window)
Google で検索すると、次のような構文を理解できます。
function(window, undefined) {
// do something
} (window)
しかし、構文に関する記事に「!」が含まれていることがわかりません。オペレーター。
次のように定義するコードを知っている人はいますか:
!function(window, undefined) {
// do something
} (window)
Google で検索すると、次のような構文を理解できます。
function(window, undefined) {
// do something
} (window)
しかし、構文に関する記事に「!」が含まれていることがわかりません。オペレーター。
!
演算子があるので、関数は宣言ではなく式として解析されます。宣言を呼び出すことができないため、2 番目の例は構文エラーです。
より一般的に見られる形式は、関数を括弧で囲むことです。
(function(window,undefined) {
// do something
}(window));
これは、単項演算子の使用とまったく同じ効果があります。
こんな感じかもしれません。
!(function(window, undefined){ /* some code */ })(window);
(function(window, undefined){ /* some code */ })(window);