- Currying
- Code 1
- 呼叫一個 function 並帶入參數,它會回傳一個 function 去處理剩下的參數
var UserInfo = function(name) {
return function(age) {
return name + ',' + age;
};
};
var UserName1 = UserInfo('Lyndon');
var UserName2 = UserInfo('Ken');
console.log(UserName1(30))
console.log(UserName2(28))
- UserInfo function,接受一個參數並回傳一個新的 function
- 當呼叫它後,回傳的 function 會透過 closure 方式儲存 UserInfo 第一個參數
- Code 2
- 一次性的呼叫 Currying function,每次只傳遞一個參數
var UserInfo = function(name) {
return function(age) {
return name + ',' + age;
};
};
console.log(UserInfo('Lyndon')(30))
console.log(UserInfo('Ken')(28))
沒有留言:
張貼留言