请教高手,(function(){//函数体})();跟 var mySpace = {//函数体};这两种写法的区别在哪?包括一般都在哪些场景用到这两种写法。谢谢。
var test=function(a,b){return a+b;}//这是定义一个函数 var tmp=function(a,b){return a+b;}(1,2);//最终结果,定义个变量为3,拆分可以理解为: tmp=test(1,2);//务必注意,tmp中定义的函数实际上跟test是不===的!!!至于用途,用的最多的场景就是闭包,你可以去搜搜什么是闭包极闭包的用途
(function(){test=123}());
alert(test);//弹出123var tmp=function(){var test='abc'; return test;}();
alert(tmp);//弹出abc这种函数最多的用处就是闭包。
var test=function(a,b){return a+b;}//这是定义一个函数
var tmp=function(a,b){return a+b;}(1,2);//最终结果,定义个变量为3,拆分可以理解为:
tmp=test(1,2);//务必注意,tmp中定义的函数实际上跟test是不===的!!!至于用途,用的最多的场景就是闭包,你可以去搜搜什么是闭包极闭包的用途
(function(){//函数体})(); 相当于 mySpace();也就是函数执行,有的时候 不希望 函数里的变量暴露,又只执行一次的函数 就用第一种方法这样写比较简单...