2012-10-02 45 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

感謝您的評論。編輯。 –