Function add (x) {________}; alert (add (2) (3) (4); // fill in the blanks to make the result 9
Solution 1,
Copy codeThe Code is as follows:
// Large
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 ));
Solution 2,
Copy codeThe Code is as follows:
// Sangui
Function add (x ){
Return function (y ){
Return function (z ){
Return x + y + z;
}
}
};
Alert (add (2) (3) (4 ));
Solution 3,
Copy codeThe Code is as follows:
// Situ zhengmei
Function add (){
If (! IsFinite (add. I )){
Add. I =
} Else {
Add. I + =;
}
Add. valueOf = add. toString = function (){
Return add. I
}
Return add;
}
Alert (add (2) (3) (4 ))
In fact, the above question is to test curry. For more information, see my other blog post.
If you have different solutions, please kindly advise!