1

重複の可能性:
感嘆符は関数の前に何をしますか?

だから私はツイッターの共有ボタンコードで次の使用に出くわしました:

!function (d, s, id) {
    var js, fjs = d.getElementsByTagName(s)[0];
    if (!d.getElementById(id)) {
        js = d.createElement(s);
        js.id = id;
        js.src = "//platform.twitter.com/widgets.js";
        fjs.parentNode.insertBefore(js, fjs);
    }
}(document, "script", "twitter-wjs");

そして、私は!functionビットが何をするのか疑問に思っていました。

短いと(function(){...})();思いますが、確認できるものがオンラインで見つかりませんでした。

4

1 に答える 1

3

@elias-van-ootegem はほぼ正しいと判断しましたが、多くのブラウザーはこれを構文エラーとみなします。

function() { ... }() // Bad
!function() { ... }() // Good
(function() { ... })() // Better, more readable.
(function() { ... }()) // Best
于 2012-10-04T11:02:13.660 に答える