首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不同异步方法

不同异步方法
EN

Stack Overflow用户
提问于 2014-04-02 21:54:31
回答 1查看 59关注 0票数 0

嘿,希望有人能帮助解释为什么这些来自Facebook和Twitter的JS异步函数调用的例子是不同的,它们的细微差别可能代表着性能上的差异。

代码语言:javascript
复制
(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个社交网络按钮,并尝试此方法的性能,任何建议都将不胜感激:

代码语言:javascript
复制
(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'));
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-02 21:59:57

这只是两种不同的生活写法。没有有效的区别。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22823871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档