为什么这个Javascript代码会自动运行?

为什么这个Javascript代码会自动运行?,javascript,facebook,Javascript,Facebook,为什么页面加载时会自动运行此代码?我没有看到任何自调用函数 function fbAsyncInit() { FB.init({ appId: '', xfbml: true, version: 'v2.1' }); FB.login(function() { FB.api('/me/feed', 'post', { message: 'This is a test message.

为什么页面加载时会自动运行此代码?我没有看到任何自调用函数

function fbAsyncInit() {
    FB.init({
        appId: '',
        xfbml: true,
        version: 'v2.1'
    });

    FB.login(function() {
        FB.api('/me/feed', 'post', {
            message: 'This is a test message.'
        });
    }, {
        scope: 'publish_actions'
    });
};


(function(d, s, id) {
    var js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id)) {
        return;
    }
    js = d.createElement(s);
    js.id = id;
    js.src = "//connect.facebook.net/en_US/sdk.js";
    fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));

这是您的自调用函数:

(function(d, s, id) {
                var js, fjs = d.getElementsByTagName(s)[0];
                if (d.getElementById(id)) {
                    return;
                }
                js = d.createElement(s);
                js.id = id;
                js.src = "//connect.facebook.net/en_US/sdk.js";
                fjs.parentNode.insertBefore(js, fjs);
            }(document, 'script', 'facebook-jssdk'));
简单的自调用函数如下所示,并立即运行:

(function(){
 // some code…
})();

函数(d,s,id)
(document,'script',facebook jssdk')
自行调用。如果对代码格式和缩进进行排序,可以清楚地看到IIFE位于底部-在fbAsyninit()之外