一个有意思的js小问题

问题:如何实现以下函数?

add(2, 5); // 7
add(2)(5); // 7

第一个就不用说了,很简单,关键是看第二个,add(2)(5),可见add(2)应该返回的是一个函数,这个函数再传入一个参数5,再与之前传入的参数相加;

所以,我觉得可以这样写:

var add = function(a){
    var t=a;//保存a参数
    return function(b){return t+b};//返回的函数可以访问t的值
}

然后add(2)(5)试试,结果是7

posted @ 2016-03-01 22:26  织猫  阅读(459)  评论(0编辑  收藏  举报