var fun1 = function() {return 'hello fun1'} ();
var fun2 = (function() {return 'hello fun2'}) ();
如果直接
function() {return 'hello fun1'} (); 报错,函数没有被括起来,产生了歧义认为 {}有可能是json对象,固有语法错误.
(function() {return 'hello fun2'}) (); //正确语法,定义且执行一个函数
string to json 参见:http://www.cnblogs.com/leamiko/archive/2011/05/07/2039780.html