2016-03-13 141 views
3
function f1() { 

    function f3() { 
    v = 3; 
    return function(i) { 
     return i + v; 
    } 
    } 
    console.log(f3()(5)); 
} 
f1(); 

我一直在試圖找到一個可以閱讀有關返回匿名函數的源代碼,如本例所示。另外如何通過變量f3()(5)是否有從函數返回匿名函數的名稱?

是否有此條款?鏈接表示讚賞。

+1

JavaScript關閉。 –

回答

5

我想你的意思currying

轉換函數可以接受多個參數 成只有一個參數(第一的 參數到原來的功能)功能的技術,並返回一個新函數 取參數的其餘部分並返回結果。

2

內函數稱爲closure

閉包是指獨立的(自由)的變量的功能。換句話說,閉包中定義的函數'記住'它創建的環境。

術語「柯里」是指更一般的數學概念,並且是編程語言無關的。我也認爲它經常被濫用,因爲這個詞太可愛了。