Posted in Javascript onFebruary 15, 2012
function add(x) {________}; alert(add(2)(3)(4)); //填空,使结果为9
解法一,
//貘大 function add(x) { var c = 0; return function(x) { c = c + x ; arguments.callee.toString = function(){ return c; }; return arguments.callee; }(x); }; alert(add(2)(3)(4));
解法二,
//三桂 function add(x) { return function(y){ return function(z){ return x+y+z; } } }; alert(add(2)(3)(4));
解法三,
//司徒正美 function add (a){ if(!isFinite(add.i)){ add.i = a }else { add.i += a; } add.valueOf = add.toString = function(){ return add.i } return add; } alert(add(2)(3)(4))
其实上题就是考curry,详见我另一篇博文。
如果你有不同的解法,也请多多指教!
javascript题目,重写函数让其无限相加
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@