我看到过以下形式的IIFE:
(function() {
console.log("do cool stuff");
})();
除此之外:
(function() {
console.log("do more cool stuff");
}());
我发现无论在哪种情况下使用它们,它们似乎都是一样的,尽管在某些情况下,我被告知其中一种方法是正确的,而另一种方法是错误的,反之亦然。有没有任何确切的理由或逻辑,可以解释为什么要按照一定顺序编写代码?是否存在一些情况,在函数体关闭后但在调用括号起作用之前或在最终的右括号之后但在其之前可能会出现更多的情况?我主要在Angular模块闭包中使用它们,并且似乎找不到任何真正的理由去选择一种方式或另一种方式,想知道是否有人有不同的经验。