可能重复:
What does the exclamation mark do before the function?
所以我通过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");
我只是想知道!function
位的作用。
我猜是(function(){...})();
的缩写,但我在网上找不到任何确认信息。
答案 0 :(得分:3)
虽然@ elias-van-ootegem大部分都是正确的,但许多浏览器会认为这是一个没有爆炸声的语法错误。
function() { ... }() // Bad
!function() { ... }() // Good
(function() { ... })() // Better, more readable.
(function() { ... }()) // Best