1

次のように定義するコードを知っている人はいますか:

!function(window, undefined) {
    // do something
} (window)

Google で検索すると、次のような構文を理解できます。

function(window, undefined) {
    // do something
} (window)

しかし、構文に関する記事に「!」が含まれていることがわかりません。オペレーター。

4

2 に答える 2

3

!演算子があるので、関数は宣言ではなくとして解析されます。宣言を呼び出すことができないため、2 番目の例は構文エラーです。

より一般的に見られる形式は、関数を括弧で囲むことです。

(function(window,undefined) {
    // do something
}(window));

これは、単項演算子の使用とまったく同じ効果があります。

于 2013-06-03T06:57:52.720 に答える
0

こんな感じかもしれません。

!(function(window, undefined){ /* some code */ })(window);
(function(window, undefined){ /* some code */ })(window);
于 2013-06-03T06:58:02.107 に答える