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 相关文章推荐
js的with语句使用方法
Sep 21 Javascript
javascript动画对象支持加速、减速、缓入、缓出的实现代码
Sep 30 Javascript
JQuery弹出炫丽对话框的同时让背景变灰色
May 22 Javascript
JavaScript实现网页截图功能
Oct 16 Javascript
jQuery插件windowScroll实现单屏滚动特效
Jul 14 Javascript
jquery使用on绑定a标签无效 只能用live解决
Jun 02 Javascript
文本框只能输入数字的js代码(含小数点)
Jul 10 Javascript
在js中做数字字符串补0(js补零)
Mar 25 Javascript
javascript实现Java中的Map对象功能的实例详解
Aug 21 Javascript
jquery+css实现下拉列表功能
Sep 03 jQuery
JS简单生成由字母数字组合随机字符串示例
May 25 Javascript
layui 表单标签的校验方法
Sep 04 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抛出异常与捕捉特定类型的异常详解
2016/10/26 PHP
CSS中简写属性要注意TRouBLe的顺序问题(避免踩坑)
2021/03/09 HTML / CSS
JS 去前后空格大全(IE9亲测)
2013/07/15 Javascript
JavaScrip调试技巧之断点调试
2015/10/22 Javascript
javascript设计模式--策略模式之输入验证
2015/11/27 Javascript
JavaScript基础进阶之数组方法总结(推荐)
2017/09/04 Javascript
浅谈vue项目如何打包扔向服务器
2018/05/08 Javascript
浅谈vue同一页面中拥有两个表单时,的验证问题
2018/09/18 Javascript
weui中的picker使用js进行动态绑定数据问题
2019/11/06 Javascript
javascript设计模式 ? 装饰模式原理与应用实例分析
2020/04/14 Javascript
微信小程序 button样式设置为图片的方法
2020/06/19 Javascript
js实现炫酷光感效果
2020/09/05 Javascript
mustache.js实现首页元件动态渲染的示例代码
2020/12/28 Javascript
python实现的各种排序算法代码
2013/03/04 Python
利用Python3分析sitemap.xml并抓取导出全站链接详解
2017/07/04 Python
快速了解Python中的装饰器
2018/01/11 Python
python模仿网页版微信发送消息功能
2018/02/24 Python
基于python实现高速视频传输程序
2019/05/05 Python
简单了解python的内存管理机制
2019/07/08 Python
python获取依赖包和安装依赖包教程
2020/02/13 Python
python字符串下标与切片及使用方法
2020/02/13 Python
jupyter notebook 恢复误删单元格或者历史代码的实现
2020/04/17 Python
python文件路径操作方法总结
2020/12/21 Python
CSS的background属性及CSS3的背景图片设置总结
2016/06/13 HTML / CSS
无需JS和jQuery代码实现CSS3鼠标浮动放大图片
2016/11/21 HTML / CSS
html5的新增的标签和废除的标签简要概述
2013/02/20 HTML / CSS
BONIA波尼亚新加坡官网:皮革手袋,鞋类和配件
2016/08/25 全球购物
天猫精选:上天猫,就够了
2016/09/21 全球购物
美国第二大连锁书店:Books-A-Million
2017/12/28 全球购物
外科实习自我鉴定
2013/10/06 职场文书
专家推荐信怎么写
2015/03/25 职场文书
国庆放假通知怎么写
2015/07/30 职场文书
开网店计划分析
2019/07/30 职场文书
uniapp开发小程序的经验总结
2021/04/08 Javascript
python通配符之glob模块的使用详解
2021/04/24 Python
《吸血鬼幸存者》新内容发布 追加多个全新模式
2022/04/07 其他游戏