js实现类似于add(1)(2)(3)调⽤⽅式的⽅法
复制代码代码如下:
var add = function(a){
return function(b){
return function(c){
return a+b+c;
};
};
};
add(1)(2)(3); //6
没错!那要是add(1)(2)(3)(4) 这样4个调⽤呢,那这个肯定不适⽤了。js调用方法的三种写法
这种就是类似于执⾏⼀个函数返回函数⾃⾝值:
复制代码代码如下:
function add(x) {
var sum = x;
var tmp = function (y) {
sum = sum + y;
return tmp;
};
return sum;
};
return tmp;
}
console.log(add(1)(2)(3)); //6
console.log(add(1)(2)(3)(4)); //10
但是在计算完成后还是返回了tmp这个函数,这样就获取不到计算的结果了,我们需要的结果是⼀个计算的数字那么怎么办呢,⾸先要知道JavaScript中,打印和相加计算,会分别调⽤toString或valueOf函数,所以我们重写tmp的toString和valueOf ⽅法,返回sum的值;
以上就是本⽂的全部内容了,希望⼤家能够喜欢。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论