2012-10-02 46 views

回答

5

它被定义,然后用参数 “舞台”

2

称为匿名函数这是类似于做:

var myfunc = (function (symbolName) { 
     //CODE 
    }); 

myfunc("stage"); 

OR

function myfunc(symbolName) { 
    //CODE 
} 

myfunc("stage"); 

除了当以这两种方式定义函数时,它将被“悬挂”到块范围的顶部 - 但这是另一个话题。

+0

这就是我想的,谢谢! – nmyster

+2

第二个功能被挂起。第一个保持原位,但是'var myfunc'部分被挂起。 –

1

在Javascript中,你可以通过简单地输入ddefine匿名函数:

(function(){alert("Hello")}); /* ok, this do nothing, but it is correct */ 

也可以直接调用一个函数:

(function(){alert("Hello")})(); /* alert is displayed */ 

如果函数的参数,你必须指定参数:

(function(args){alert(args)})("Hello"); /* alert is displayed with the passed arguments */ 

我建议你这个tutorial

+1

第一个在技术上并非有效。解释器会将其视为缺少名称的函数声明。你需要强制它成为一个表达,以使其匿名。如果你将它包装在parens中,它将是有效的'(function(){})' –

+0

感谢您的评论。编辑。 –