ネットで流行っているadd(2)(3)(4)

1631 ワード

インターネットには他の様々なアルゴリズムがたくさんあります.実はこの問題はjavascript属性のargments.caleeで実現できます.コードは以下の通りです.
 1  
 2     function add(x){
 3       var result=0;
 4       return function(n){
 5         result= result + n;
 6         arguments.callee.toString=function(){
 7           return result;
 8         };
 9         return arguments.callee;
10       }(x);
11     }
12     
13     
14     alert(add(1)(2)(3)(4));