js实现类似于add(1)(2)(3)调用方式的方法
作者:bea
代码如下: 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个调用呢,那这个肯定不适用了。 这种就是类似于执行一个函数返回函数自身值: 代码如下: function add(x) { var sum = x; var tm
代码如下:
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个调用呢,那这个肯定不适用了。
这种就是类似于执行一个函数返回函数自身值:
代码如下:
function add(x) {
var sum = x;
var tmp = function (y) {
sum = sum + y;
return tmp;
};
tmp.toString = function () {
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的值;
以上就是本文的全部内容了,希望大家能够喜欢。
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- JS实现文件动态顺序载入的方法
- Jquery实现仿腾讯娱乐频道焦点图(幻灯片)特效
- PHP守护进程实例
- JavaScript操作Oracle数据库示例
- jQuery解析XML与传统JavaScript方法的差别实例分析
- jquery实现翻动fadeIn显示的方法
- Shell脚本实现Linux系统和进程资源监控
- TinyMCE提交AjaxForm获取不到数据的解决方法
- jQuery实现数秒后自动提交form的方法
- Redis基本知识、安装、部署、配置笔记
- 深入理解JavaScript系列(22):S.O.L.I.D五大原则之依赖倒置原则DIP详解
- PHP 数组current和next用法分享
- 深入理解JavaScript系列(21):S.O.L.I.D五大原则之接口隔离原则ISP详解
- 深入理解JavaScript系列(19):求值策略(Evaluation strategy)详解
- 如何实现chrome浏览器关闭页面时弹出“确定要离开此面吗?”
- 深入理解JavaScript系列(18):面向对象编程之ECMAScript实现
- 基于zepto.js实现仿手机QQ空间的大图查看组件ImageView.js详解
- 基于jQuery实现网页进度显示插件
- 基于jQuery实现仿淘宝套餐选择插件