(function(){})();
;(function(){})(); 
这两种写法在js里是什么意思?

解决方案 »

  1.   

    这种函数可以称为匿名函数。它是不用调用的,在加载的时候就执行了。var test;
    (function(){test=123}());
    alert(test);//弹出123var tmp=function(){var test='abc'; return test;}();
    alert(tmp);//弹出abc这种函数最多的用处就是闭包。
      

  2.   

    立即执行的函数。(function(){})();第一个括号是把里面那个匿名函数括起来作为一个整体,改变优先级的,括号里面的东西一般先执行,第二个括号就是调用这个匿名函数(我们调用一个方法的时候,是不是会加上()),如果里面的匿名函数有参数的话,就写在第二个括号里面。
      

  3.   

    请教高手,(function(){//函数体})();跟 var mySpace = {//函数体};这两种写法的区别在哪?包括一般都在哪些场景用到这两种写法。谢谢。
      

  4.   


    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是不===的!!!至于用途,用的最多的场景就是闭包,你可以去搜搜什么是闭包极闭包的用途
      

  5.   


    (function(){//函数体})(); 相当于 mySpace();也就是函数执行,有的时候 不希望 函数里的变量暴露,又只执行一次的函数 就用第一种方法这样写比较简单...