标签:需要 函数返回 柯里化 UNC 就是 i++ alert 输出 his
var monthlyCost = 0; var cost = function(money){ monthlyCost += money; }; cost(100);//第一天开销 cost(200);//第二天开销 cost(300);//第三天开销 //cost(700);//第三十天开销 alert(monthlyCost);//输出:600
var cost = (function(){ var args = []; return function(){ if(arguments.length === 0){ var money = 0; for(var i = 0, l = args.length; i < l; i++){ money += args[i]; } return money; }else{ [].push.apply(args, arguments); } } }()); cost(100);//未真正求值 cost(200);//未真正求值 cost(300);//未真正求值 console.log(cost());//求值并输出:600
var currying = function(fn){ var args = []; return function(){ if(arguments.length === 0){ return fn.apply(this, args); }else{ [].push.apply(args, arguments); return arguments.callee;//arguments.callee是指向参数arguments对象的函数。 } } }; var cost = (function(){ var money = 0; return function(){ 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);//未真正求值 console.log(cost());//求值并输出:600
标签:需要 函数返回 柯里化 UNC 就是 i++ alert 输出 his
原文地址:https://www.cnblogs.com/MrZhujl/p/13174568.html