加括号——调用函数
只要是要调用函数执行的,都必须加括号。
此时,function()实际上等于函数的返回值。(没有返回值也已经执行了函数体内的行为)。就是说,只要加括号的,就代表将会执行函数体代码。
不加括号——指定函数引用
把函数名作为函数指针,用于传参,此时不是得到函数结果,因为不会运行函数体代码。它只是传递了函数体所在地址,在需要时找到函数体去执行。
例如request.onreadystatechange = doSomething;是将函数doSomething自身的引用(而不是函数结果)赋值给onreadystatechange属性。
(function() { })();
绿括号 () -> 函数定义
蓝括号 () -> 函数执行
红括号 () -> 把整个函数定义包起来,定义完了再执行,看得更直观
附:以上内容来自网络资料整理,非原创。