为什么Twitter在其嵌入代码中使用!函数语法?

Why does Twitter use the !function syntax in their embed code

本文关键字:函数 语法 代码 Twitter 为什么      更新时间:2023-09-26

我查看了Twitter的嵌入式代码,发现他们使用的是!function。虽然我知道这个结果是false,但我想知道它的意义是什么。

这里是我所指的代码:

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

这是为了节省一个字节。这是调用函数的最短方式。另一种选择是:

(function(){...})();
注意Twitter使用的语法:
!function(){...}(params);

这意味着调用函数的长度减少了一个字节。

编辑:只是一个事后的想法:它也使它非常清楚,你正在调用匿名函数