Javascript 不同异步方法
嘿,希望有人能帮助解释为什么Facebook和Twitter的JS API异步函数调用中的这些示例是不同的,以及它们在性能上的细微差别Javascript 不同异步方法,javascript,api,asynchronous,social-networking,Javascript,Api,Asynchronous,Social Networking,嘿,希望有人能帮助解释为什么Facebook和Twitter的JS API异步函数调用中的这些示例是不同的,以及它们在性能上的细微差别 (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.face
(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/all.js#xfbml=1";
fjs.parentNode.insertBefore(js,fjs);
}(document, 'script', 'facebook-jssdk'));
!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");
正如您所看到的,一个是从结构(){}()开始的;另一个是
我不知道这两个是否更好
此外,我正在尝试一次加载5个社交网络按钮,并尝试此方法以提高性能,如有任何建议,将不胜感激:
(function(d, s) {
var j, h = d.getElementsByTagName(script)[0],
f = d.createDocumentFragment(),
add = function(u, i) {
if (d.getElementById(i)) {
return;
}
j = doc.createElement(s);
j.src = u;
i && (j.id = i);
f.appendChild(j);
};
add('http://apis.google.com/js/plusone.js');
add('http://connect.facebook.net/en_US/all.js#xfbml=1', 'facebook-jssdk');
add('http://platform.twitter.com/widgets.js', 'twitter-wjs');
add('http://platform.linkedin.com/in.js');
add('http://assets.pinterest.com/js/pinit.js');
h.parentNode.insertBefore(f, h);
}(document, 'script'));
这只是两种不同的生活方式。没有有效的区别。逐行阅读前两个函数,它们完全相同,只是句法上有细微的差异。谢谢你的回答。