2013-10-02 87 views
1

我似乎無法找到它描述的語法如下參考:JavaScript函數調用語法不清楚

func()(); 

FUNC的此次調用是在構造函數的結尾。在構造函數中的其他調用是'正常'。

+0

'func'運行時返回一個函數。所以,你運行'func()',然後運行它返回的函數。 –

回答

3

func()返回一個函數,然後由第二組()調用該函數。

var tempfunc = func(); 
tempfunc(); 

這是用於運行返回另一個功能的功能:

function func() { 
    return function() { 
    alert("ok!"); 
    } 
} 

func()(); // ok! 
+0

謝謝。仔細研究'func'代碼,我發現它就是這樣做的。 – Les

1
func()(); 

到等效。

+0

這是另一種需要記住的形式。謝謝。 – Les

0

爲了避免混淆: 我們知道,函數被調用是這樣的:

functionName(); 

所以()之前什麼是函數名,

在把心中的func()()的情況下,該func()正在取代functionName,所以這也是一個函數調用,但即使是func()本身也是一個函數,所以我們得出結論,這是一個帶函數的函數。

而對於更合適的定義:func()()是一個函數,它具有另一個函數作爲它的返回值,通過這樣做,我們調用了要執行的返回函數。

+0

對。晚上我真的需要更多的睡眠! – Les