【发布时间】:2018-06-12 11:39:39
【问题描述】:
多年来我一直这样写 IIFE:
(function () {
console.log("hi");
})();
但我最近遇到了这样一个,最后两个括号位于最后一个括号内:
(function () {
console.log("hi");
}());
我以为它不起作用,但令人惊讶的是它确实起作用。然而,这显然不是:
function () {
console.log("hi");
}();
这是为什么?这两个工作版本似乎做同样的事情,但有区别吗?
【问题讨论】:
-
但是
!function () { console.log("hi"); }();(或+或-或~)确实如此 -
为了完整性...
(()=> {})()是唯一适用于箭头=>的语法(我认为) -
@JaromandaX 有趣,谢谢!现在花剩下的时间想一个使用
!function () { ... }();的理由:)
标签: javascript iife