gpt4 book ai didi

javascript - 为什么 Twitter 将字符串传递到它的脚本加载 JS 片段中?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:48:32 25 4
gpt4 key购买 nike

下面是用于向网页添加推文按钮的 Twitter 脚本加载片段。

!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");

在最后一行,他们将 "script" 传递给 IIFE 参数,而不是仅仅将其声明为变量。

这样做有什么好处?难道只是为了在代码长度上节省几个字符?

最佳答案

如果他们在 IIFE 之外使用变量,它可能会干扰 10,000 个人的网页上的 10,000 个人的 javascript 中的变量。如果已经有一个同名的变量,将它们包含在页面上可能会干扰它的工作方式,人们会说,“我尝试使用 Twitter,但它破坏了我的网页。”不管是真是假。

按照他们所做的方式尽可能减少对周围代码的影响。

内部变量

如果他们在内部放置一个变量,那么就很难记录必须添加到已经工作的网页中的内容。他们必须教新手 javascript 用户如何格式化字符串变量,而新手必须在代码的两个位置输入他们的信息。

这样他们只需要将除最后一行之外的所有行都显示为“魔术”。他们说,“复制这些行”。

然后他们解释说你必须在最后一行的引号中加上两个东西的名称。它只是更容易解释。

不可否认,这并不容易。但更容易解释的是,成千上万的人使用它可以提高他们的市场渗透率,可以这么说。

关于javascript - 为什么 Twitter 将字符串传递到它的脚本加载 JS 片段中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15819099/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com