(function(){})(); 和function(){}();

可能重复:
在JavaScript中,“(function(){})()”和“(function(){}())”在功能上是否相等?

这是我还没有弄清楚的,但我一直在使用函数(){}(),因为我的VIM语法突出显示如果我添加了括号,尽管我见过(function(){}) ()多次,也许它是一个IE的东西?

编辑:

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

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

彼得Michaux讨论一个重要的一对父母的差异。

基本上,括号是一种约定,表示立即调用的函数表达式在后面,而不是普通函数。 特别是如果功能体冗长,这会减少惊喜,


额外的括号可以让你更清楚地知道你正在构造一个函数然后调用它。 这是一种编码风格的东西,而不是功能性的东西。


function(){}();

在大多数浏览器中不起作用。 你应该在函数中使用括号来执行它

(function(){})();

那么浏览器会知道最后一个括号应该应用于所有表达式

function(){}

UPD :如果你不使用括号,浏览器可能会误解你。 如果你只是调用函数并且忽略结果

function() {
    alert(1);
}();

那么ff和ie会抛出错误

链接地址: http://www.djcxy.com/p/59079.html

上一篇: Difference between (function(){})(); and function(){}();

下一篇: PHP script not passing url with a array variable