js实现类似于add(1)(2)(3)调用方式的方法
介绍JavaScript中有趣的add函数调用方式
你是否曾对JavaScript中的add(1)(2)(3)这种连续调用方式感到好奇?今天,就让我们一起如何实现这种调用方式。
让我们看一个简单的示例代码:
```javascript
var add = function(a){
return function(b){
return function(c){
return a+b+c;
};
};
};
console.log(add(1)(2)(3)); // 输出:6
```
在上述代码中,我们定义了一个名为add的函数,它返回另一个函数,这个函数又返回第三个函数。当我们连续调用add(1)(2)(3)时,相当于执行了内部函数的连续加法操作。
上述代码只支持三个连续调用。如果我们想要支持更多的连续调用,比如add(1)(2)(3)(4),就需要采用另一种实现方式。下面是一个改进后的示例:
```javascript
function add(x) {
var sum = x;
var tmp = function (y) {
sum += y; // 累加y到sum上
return tmp; // 返回自身函数,以便继续调用
};
return sum.toString(); // 将累加结果转为字符串形式返回
};
return tmp; // 返回累加函数tmp
}
console.log(add(1)(2)(3)); // 输出:6
console.log(add(1)(2)(3)(4)); // 输出:10
```
通过这种方式,我们可以实现类似于add(1)(2)(3)(4)的连续调用方式,并且可以支持任意数量的连续调用。希望这种有趣的JavaScript调用方式能给大家带来启发和乐趣。
编程语言
- js实现类似于add(1)(2)(3)调用方式的方法
- flex actionScript时间处理相加返回相加后的date
- PHP四舍五入、取整、round函数使用示例
- Validform验证时可以为空否则按照指定格式验证
- 详解json串反转义(消除反斜杠)
- PHP的preg_match匹配字符串长度问题解决方法
- PDO--query讲解
- 详解Vue 事件修饰符capture 的使用
- 实现微信小程序的wxml文件和wxss文件在webstrom的支
- SQL分组排序去重复的小实例
- javascript实现的字符串与十六进制表示字符串相互
- Javascript将字符串日期格式化为yyyy-mm-dd的方法
- php 获取SWF动画截图示例代码
- PHP中类的自动加载的方法
- vue实现条件判断动态绑定样式的方法
- 解决Vue编译时写在style中的路径问题