JavaScript函数括号的具体含义
 发布于 12 年前  作者 kaianny  8549 次预览  最后一次回复是 12 年前  来自  

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

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

13 回复
lellansin

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

leapon

有点多余的感觉。

oracle-li

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

这种写法括号是必须的。

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

这里讲的比较清楚。

kiinlam

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

zilong-thu

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

alsotang

其实应该这样写的。

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

This code

(function(){
      // do somethiing
})

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

kaianny

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

这样也是没有问题的

alsotang

@kaianny

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

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

yaochun

@kaianny

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

yaochun

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

icetoggle

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

DolphinX

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

函数调用的格式

151263

最外层的括号可以不要