1和2的方法是等价的,1是有名函数,而2只是让一个变量指向一个无名函数而已,而1和2在这里是等价的。2可以直接在函数声明后加上括号就表示创建完成后立即进行函数调用。例如: var i = function(obj){ alert(obj); }("我是武林网"); 另外有名函数和无名函数的重要区别:对于有名函数,它可以出现在调用之后再定义;而对于无名函数,她必须是在调用之前就已经定义。例如下面使用无名函数的错误例子: i(); var i = function(){ alert("我是武林网"); } 以下才是正确写法: var i = function(){ alert("我是武林网"); } i(); 或者使用有名函数: i(); function i(){ alert("我是武林网"); }