javascript题目,重写函数让其无限相加_javascript技巧

js教程评论343 views阅读模式

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,详见我另一篇博文。

如果你有不同的解法,也请多多指教!

企鹅博客
  • 本文由 发表于 2020年9月4日 15:13:06
  • 转载请务必保留本文链接:https://www.qieseo.com/424221.html

发表评论