(
function(){
alert("1");
}
)();

解决方案 »

  1.   

    funciton test(){alert('test');}这样理解:
    你要运行test 得这样吧:test();
    你也可以这样:(test)();//这样也能运行
     
    (test)()//指向是已经存在的函数test   如果想要运行还不存在函数就要 
    (function (){})()//运来
    还有一种理解是:表达式不能以 function 开头,所以要加上()
    这是闭包,楼主可以搜索
      

  2.   


    能再详细一点吗?()是定义一个匿名方法吗?
    既然是匿名的就不能在其他地方引用?只能立即执行?
    定义方法不是用function关键字吗?
    function foo(){
    //这是定义一个方法
    }()定义匿名方法,方法体呢?
    是下面这样吗?
    (function(){
    alert("me");
    })
      

  3.   

    测试了一下, 发现
    (function (){
        alert("me");
    })
    在浏览器里没有引起任何脚本错误...
    确实()();后边那个括号是运行的.
    前边那个()括号是定义函数的
      

  4.   

    如果写
    (
      alert("me");
    )
    会得到缺少")"的异常!如果写
    (
      )alert("me");//这显然是不正确的,呵呵
    )
    会得到语法错误的异常, 这显然是不正确的如果单写()也会得到语法错误的异常o(︶︿︶)o 唉...纠结啊...
      

  5.   

    function () {alert(1);}没有名称的函数,是匿名函数;它不会立即运行的
    (function (s) {alert(s);})(2);这样参数2就被传递到匿名方法中了,s是形参
      

  6.   


    匿名函数执行
    (function(){
       alert("1");
    })();
      

  7.   


    函数需要一个名字的原因是用户要调用这个函数,于是函数名就是其唯一索引

    function a(){alert"I am A";}但是当一个函数可能不需要调用,也就根本不需要这个索引,也就是函数名了(function(){
       alert("I am A");
    })();
    我估计当初的设计就是因为很多函数太过专用所以干脆就匿名算了,反正也不会被复用。不过看着真的很乱...
      

  8.   

    (function(){
         alert("1");
       }
    )();
    上面代码里,第一个(),被用作强制运算符,把里面的匿名函数直接量转变成一个函数对象的引用;后面的()是一般的函数调用。
    function(){}();这样是错误的。解析器会解释成:function(){};
    ();
      

  9.   

    function xxx(){} 函数名是xxx,叫做命名函数;
    function(){} 没有函数名,叫做匿名函数;
    调用一个命名函数是这样 xxx();和(xxx)();是等效的。
    调用一个匿名函数是这样 (函数体...)();所以就有了(function(){})();