(function(){})()之间的区别; 和function(){}();

Luc*_*eis 36 javascript syntax

可能重复:
"(function(){})()"和"(function(){}())"在JavaScript中功能相同吗?

这是我还没有想到的东西,但是我一直在使用function(){}(),因为我添加了括号后我的VIM语法突出显示,虽然我已经看过(function(){}) ()很多次,也许它是一个IE的东西?

编辑:

var singleton = function() {
    // code
}();

var singleton = (function() {
    // code
})();
Run Code Online (Sandbox Code Playgroud)

Wal*_*sby 44

Peter Michaux讨论了一对重要的Parens的区别.

基本上,括号是一种约定,表示紧接着调用的函数表达式,而不是普通函数.特别是如果功能体很长,这会减少意外,


Hen*_*enk 9

额外的括号集使您更清楚地构建函数然后调用它.这是一种编码风格的东西,而不是功能性的东西.

  • 没有括号,包含函数表达式的单个语句将产生语法错误. (2认同)
  • OP提供的2个示例都是函数表达式,即使删除了该括号也不会出现语法错误.只有功能声明才会. (2认同)