console
const partial = function (fn, ...partialArgs) {
return function (...fullArgs) {
let argIdx = 0
for (let i = 0; i < partialArgs.length && argIdx < fullArgs.length; i++) {
if (partialArgs[i] === undefined) {
partialArgs[i] = fullArgs[argIdx]
argIdx++
}
}
return fn(...partialArgs)
}
}
let delayTenMs = partial(setTimeout, undefined, 1000);
delayTenMs(() => console.log("hello"));
<div>
<h2>偏函数</h1>
<p>概念:是一个表达式。</p>
当一个函数参数列表有多个参数,如果需要多次调用这个函数,
而其中某个或者某几个参数不变,就可以将这几个参数绑定在函数上,
生成一个函数表达式(一个新的函数),将这个表达式的值赋给一个变量,
调用这个新的函数时再传入动态的参数。
这种方式优化了函数的调用。
</div>
body{
background: #333;
color:white
}