js 커 리 화
3960 단어 JAVASCRIPT심득
그러나 저 는 js 디자인 모델 이라는 책 에서 코 리 화 코드 세 션 을 취하 고 상세 한 주석 을 달 겠 습 니 다.만약 구 글 코 리 화가 된 후에 도 모 르 는 친구 라면, 이 주석 을 읽 을 수 있 습 니 다.
물론, 나 는 네가 먼저 한 번 실행 한 후에 주석 을 보 러 가 는 것 을 추천 한다.
var currying = function(fn) {
//
var args = [];
return function() {
// 0, , , /
if (arguments.length === 0) {
// fn ,
return fn.apply(this, args);
// , , /
} else {
//arguments google, 。
// arguments push args
// , args
[].push.apply(args, arguments);
// return
return arguments.callee;
}
}
};
var cost = (function() {
// , money
var money = 0;
// currying(fn) fn
return function() {
//arguments currying args
// ,
for (var i = 0, l = arguments.length; i < l; i++) {
money += arguments[i];
}
return money;
}
})();
var cost = currying(cost); // currying
cost(100); //
cost(200); //
cost(300); //
cost(200); //
cost(200); //
cost(50); //
cost(100); //
alert(cost()); // :600
코드 에 주석 은 본 블 로그 에서 나 왔 습 니 다.http://blog.csdn.net/jiestyle21잘못된 부분 을 이해 하면 지적 해 주세요.