大家都學過數學,都應該記得下面這個熟悉的表示式
y=f(x);
沒錯,y是關於x的函式,當x確定的時候,y也就確定
再比如,z=f(x,y);
z是關於x,y的函式,當其中乙個x或者y確定的時候,就會變成
z=f(x)或者z=f(y)這樣的關係
先寫乙個簡單的柯里化的例子:
function
curry
(fn)
}function
add(x,y)
var res=curry(add,5);
res(6)//30
原先add只是乙個普通的function,輸入乙個變數x和乙個變數y,返回兩數之積,這裡柯里化之後,傳入引數5,res變成了乙個關於y的乙個函式,所以執行res(6)就返回了30 關於函式柯里化
今天在群裡看到有人提出乙個問題,關於如何實現如下效果的sum函式 1 sum 1,2 3 2 sum 1 2 3 1 function sum num1 1516 return sum17 1819 function docount num2 3334 return count 35 3637 do...
簡單理解函式柯里化
柯里化 currying 是把接受多個引數的函式變換成接受乙個單一引數 最初函式的第乙個引數 的函式,並且返回接受餘下的引數且返回結果的新函式的技術。通俗的說,柯里化其實就是將乙個多參的函式,轉換為單參的函式 通過add函式能夠比較直觀的理解函式柯里化 非柯里化 function add x,y a...
js函式柯里化的理解
函式柯里化理解示例 求和 let add function a,b,c else 引數解構版本 function curry fn,args let f1 add.bind console.log f1 2,3 5 但是簡單版bind實現不支援物件和其他引數同時傳入,如下 let f2 add.bi...