<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>高阶函数 实现sum(2)(3)</title>
</head>
<body>
<script type="text/javascript">
function add() {
var args = [].slice.call(arguments); var fn = function() {
var arg_fn = [].slice.call(arguments);
return add.apply(null, args.concat(arg_fn));
} fn.valueOf = function() {
return args.reduce((a, b) => a + b);
}
return fn;
}
let s = add(1)(2)(3);
// function
console.log(typeof s);
// 6
console.log(Number(s))
</script> </body>
</html>
相关文章
- python笔记--3--函数、生成器、装饰器、函数嵌套定义、函数柯里化
- 学好Spark/Kafka必须要掌握的Scala技术点(三)高阶函数、方法、柯里化、隐式转换
- 大数据学习day17------第三阶段-----scala05------1.Akka RPC通信案例改造和部署在多台机器上 2. 柯里化方法 3. 隐式转换 4 scala的泛型
- 关于 JavaScript 中柯里化函数的实现,附带详细解析!
- [react基础] 表单 受控组件 非受控组件 单选 多选 全选 下拉菜单 高阶函数与函数的柯里化
- [Effective JavaScript 笔记]第26条:使用bind方法实现函数的柯里化
- 从柯里化讲起,一网打尽 JavaScript 重要的高阶函数
- Java函数式编程:二、高阶函数,闭包,函数组合以及柯里化
- JavaScript函数柯里化实现原理及过程
- Python高阶函数及函数柯里化