为什么这个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()之外