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 相关文章推荐
javascript 清空form表单中某种元素的值
Dec 26 Javascript
JQuery触发radio或checkbox的change事件
Dec 18 Javascript
javascript中的if语句使用介绍
Nov 20 Javascript
jquery中one()方法的用法实例
Jan 16 Javascript
Node.js中的process.nextTick使用实例
Jun 25 Javascript
关于JavaScript 原型链的一点个人理解
Jul 31 Javascript
关于jQuery EasyUI 中刷新Tab选项卡后一个页面变形的解决方法
Mar 02 Javascript
vue2实现数据请求显示loading图
Nov 28 Javascript
ReactNative 之FlatList使用及踩坑封装总结
Nov 29 Javascript
js原生实现移动端手指滑动轮播图效果的示例
Jan 02 Javascript
微信小程序授权登录解决方案的代码实例(含未通过授权解决方案)
May 10 Javascript
js实现微信聊天界面
Aug 09 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
海贼王动画变成“真人”后,凯多神还原,雷利太帅了!
2020/04/09 日漫
php中的Base62类(适用于数值转字符串)
2013/08/12 PHP
Stop SQL Server
2007/06/21 Javascript
Javascript base64编码实现代码
2011/12/02 Javascript
CSS(js)限制页面显示的文本字符长度
2012/12/27 Javascript
JavaScript String.replace函数参数实例说明
2013/06/06 Javascript
基于jquery的禁用右键、文本选择功能、复制按键的实现代码
2013/08/27 Javascript
javascript动态创建及删除元素的方法
2014/12/22 Javascript
JS实现滑动菜单效果代码(包括Tab,选项卡,横向等效果)
2015/09/24 Javascript
require简单实现单页应用程序(SPA)
2016/07/12 Javascript
ES6字符串模板,剩余参数,默认参数功能与用法示例
2017/04/06 Javascript
jquery 通过ajax请求获取后台数据显示在表格上的方法
2018/08/08 jQuery
Python简明入门教程
2015/08/04 Python
win与linux系统中python requests 安装
2016/12/04 Python
Python验证文件是否可读写代码分享
2017/12/11 Python
Python装饰器用法实例总结
2018/05/26 Python
浅谈Python接口对json串的处理方法
2018/12/19 Python
详解Python使用Plotly绘图工具,绘制甘特图
2019/04/02 Python
python3+PyQt5 创建多线程网络应用-TCP客户端和TCP服务器实例
2019/06/17 Python
Pandas中DataFrame的分组/分割/合并的实现
2019/07/16 Python
Python 实现递归法解决迷宫问题的示例代码
2020/01/12 Python
Django Session和Cookie分别实现记住用户登录状态操作
2020/07/02 Python
浅谈python出错时traceback的解读
2020/07/15 Python
详解Python中Pyyaml模块的使用
2020/10/08 Python
OpenCV实现机器人对物体进行移动跟随的方法实例
2020/11/09 Python
css3和jquery实现自定义checkbox和radiobox组件
2014/04/22 HTML / CSS
能否解释一下XSS cookie盗窃是什么意思
2012/06/02 面试题
简述进程的启动、终止的方式以及如何进行进程的查看
2013/07/12 面试题
如何将无状态会话Bean发布为WEB服务,只有无状态会话Bean可以发布为WEB服务?
2015/12/03 面试题
个人实用的自我评价范文
2013/11/23 职场文书
个人工作主要事迹
2014/05/08 职场文书
银行求职信范文
2014/05/26 职场文书
2014大学生批评与自我批评思想汇报
2014/09/21 职场文书
2014年大学学生会工作总结
2014/12/02 职场文书
退休教师欢送会致辞
2015/07/31 职场文书
小程序后台PHP版本部署运行 LNMP+WNMP
2021/04/01 Servers