写一个函数 sum,它有这样的功能:
sum(2)(5)(5)(5)(5)(5)===27
思考
- 首先sum函数返回的是一个函数
- 通过需要写一个toString方法,最后能输出值
上代码吧
const sum=function (val){
function counter(val1) {
counter.sum+=val1;
return counter
};
counter.toString=()=>{
return counter.sum
}
counter.sum=val
return counter
}
alert(sum(2)(5)(5)(5)(5)(5));
ps:alert被调用时,如果值不是一个字符串,会隐式调用toString方法转换成字符串,我们把这个方法重写,就能得到值了