固定某些参数,返回接受剩余参数的新函数,如果没有剩余参数,就调用。
将多个参数的函数转换为单个参数的函数
作用:参数复用,延迟计算…
// 传入参数不限,不能丢失传入的参数
function add() {
// 不设置形参 因为传入参数不定
// 用args存放传入参数 arguments是函数参数 但是是对象 但是这里想要args是数组 要进行类型转换
// let args = arguments
// Array.prototype.slice.call将具有length属性的arguments转换为数组
let args = Array.prototype.slice.call(arguments)
let inner = function () {
// inner接收剩余传入的参数,把当前传入的参数 加入到之前的参数数组里
args.push(...arguments)
// let sum = args.reduce((pre, val) => pre + val, 0)
// return sum
// 内部函数返回内部函数 可以处理多个括号
return inner
}
// 函数被隐式转换了
inner.toString = function () {
let sum = args.reduce<
标签:函数,args,JS,参数,arguments,柯里化,let,inner
From: https://blog.csdn.net/Zheng113/article/details/142497226