3

この形式の自己呼び出し関数に出くわしました。「!」は何のためですか?

!function (a) {
    // something
}(1);

既存の質問があるかどうかはわかりません。これが重複している場合は申し訳ありません。

4

3 に答える 3

4

! を使用することで、無名関数が評価されます (実行する必要があります)。それがないと、エラーが発生します。

そして、他の人が言ったように、関数を割り当てたり評価したりすると、関数が返す結果が反転します。

于 2013-01-01T00:33:46.883 に答える
0

関数の戻り値が何かに割り当てられない限り、not は無意味です。割り当てられている場合、左側は自己実行関数の結果の not を取得します。結果は、明示的に返された値、または関数で最後に計算された値になります。

于 2013-01-01T00:33:39.160 に答える
0

何かを返す場合は、結果を逆にするだけです。

console.log(!(function(a) { return (a == 1); })(1));

false を返します。0 またはそれ以外を指定した場合は true。

于 2013-01-01T00:34:37.470 に答える