JavaScript函数括号的具体含义
发布于 10 年前 作者 kaianny 7257 次浏览 最后一次编辑是 8 年前

(function(){ // do somethiing }())

请问最外层的括号是什么意思?

13 回复

为了让人注意最后的自执行。。如果不加的话,很容易忽略这个 function 最后的自执行。。

有点多余的感觉。

最外层括号是必须的,不是为了让人注意,也不是多余的。 弄清楚函数表达式与函数声明就能弄清楚为什么要加这个括号了。

这种写法括号是必须的。

http://www.cnblogs.com/TomXu/archive/2011/12/31/2289423.html

这里讲的比较清楚。

括号说明里面的东西要被执行

不多余,是种良好的习惯。代码更多情况下是给人看的,不是给机器的。《编写可维护的JavaScript》都讲过了的……

其实应该这样写的。

(function(){
      // do somethiing
})()

This code

(function(){
      // do somethiing
})

返回一个函数对象,然后我们再通过 () 调用它。

(fucntion(){ // do something }())

这样也是没有问题的

@kaianny

(function () {
  console.log(111);
}
())

这样也没问题。但是不对的。

@kaianny

###拼错了单词。。。###

####我也支持第一种####

避免变量污染 if(true){ (function(){ var a = 1; }()); } console.log(a) //undefine =============== if(true) { var a = 1; } console.log(a) //1

函数句柄+括号 括号内参数选填

函数调用的格式

最外层的括号可以不要

回到顶部