问题:如何实现以下函数?
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
问题:如何实现以下函数?
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