(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(){}();