js实现类似于add(1)(2)(3)调用方式的方法


Posted in Javascript onMarch 04, 2015
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的值;

以上就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
JQuery 构建客户/服务分离的链接模型中Table中的排序分析
Jan 22 Javascript
IE下Ajax缓存问题的快速解决方法(get方式)
Jan 09 Javascript
JavaScript判断图片是否已经加载完毕的方法汇总
Feb 05 Javascript
妙用Angularjs实现表格按指定列排序
Jun 23 Javascript
如何理解Vue的render函数的具体用法
Aug 30 Javascript
vue组件父子间通信之综合练习(聊天室)
Nov 07 Javascript
JS排序算法之希尔排序与快速排序实现方法
Dec 12 Javascript
详解vue.js根据不同环境(正式、测试)打包到不同目录
Jul 13 Javascript
js实现图片上传并预览功能
Aug 06 Javascript
详解Vue组件之间通信的七种方式
Apr 14 Javascript
ES6 class类链式继承,实例化及react super(props)原理详解
Feb 15 Javascript
微信小程序自定义navigationBar顶部导航栏适配所有机型(附完整案例)
Apr 26 Javascript
jquery 插件实现多行文本框[textarea]自动高度
Mar 04 #Javascript
JavaScript常用脚本汇总(三)
Mar 04 #Javascript
JavaScript常用脚本汇总(二)
Mar 04 #Javascript
JS实现可缩放、拖动、关闭和最小化的浮动窗口完整实例
Mar 04 #Javascript
JavaScript常用脚本汇总(一)
Mar 04 #Javascript
JS+CSS实现Div弹出窗口同时背景变暗的方法
Mar 04 #Javascript
js实现iGoogleDivDrag模块拖动层拖动特效的方法
Mar 04 #Javascript
You might like
php,ajax实现分页
2008/03/27 PHP
常用的php对象类型判断
2008/08/27 PHP
php 实现进制转换(二进制、八进制、十六进制)互相转换实现代码
2010/10/22 PHP
PHP之sprintf函数用法详解
2014/11/12 PHP
再Docker中架设完整的WordPress站点全攻略
2015/07/29 PHP
PHP获取指定日期是星期几的实现方法
2016/11/30 PHP
Paypal实现循环扣款(订阅)功能
2017/03/23 PHP
cnblogs TagCloud基于jquery的实现代码
2010/06/11 Javascript
onmouseover和onmouseout的一些问题思考
2013/08/14 Javascript
jQuery中append()方法用法实例
2015/01/08 Javascript
纯javascript实现简单下拉刷新功能
2015/03/13 Javascript
你所不了解的javascript操作DOM的细节知识点(一)
2015/06/17 Javascript
JS实现文档加载完成后执行代码
2015/07/09 Javascript
JQuery悬停控制图片轮播——代码简单
2015/08/05 Javascript
jquery ui dialog替代confirm实例分析
2016/01/25 Javascript
轻松掌握JavaScript策略模式
2016/08/25 Javascript
jQuery图片轮播功能实例代码
2017/01/29 Javascript
本地存储localStorage用法详解
2017/07/31 Javascript
js排序与重组的实例讲解
2017/08/28 Javascript
微信小程序授权登陆及每次检查是否授权实例代码
2019/09/18 Javascript
extjs图表绘制之条形图实现方法分析
2020/03/06 Javascript
微信小程序中的列表切换功能实例代码详解
2020/06/09 Javascript
JavaScript编写开发动态时钟
2020/07/29 Javascript
解决ant design vue中树形控件defaultExpandAll设置无效的问题
2020/10/26 Javascript
Python while、for、生成器、列表推导等语句的执行效率测试
2015/06/03 Python
python编程实现12306的一个小爬虫实例
2017/12/27 Python
CentOS7.3编译安装Python3.6.2的方法
2018/01/22 Python
python实现批量按比例缩放图片效果
2018/03/30 Python
python操作gitlab API过程解析
2019/12/27 Python
Python socket服务常用操作代码实例
2020/06/22 Python
nohup的用法
2014/08/10 面试题
车间安全生产标语
2014/06/06 职场文书
小学体育课教学反思
2016/02/16 职场文书
民事纠纷协议书
2016/03/23 职场文书
centos8安装MongoDB的详细过程
2021/10/24 MongoDB
Python制作春联的示例代码
2022/01/22 Python