2 回答
TA贡献1744条经验 获得超4个赞
我通过从内部调用函数到外部函数来工作。如图所示,函数及其带有参数的调用及其后续调用。
five()
expression(5)
5
times(5)
function with closure over x = 5
seven(function)
expression(7, function)
function(7)
35
最后,您会发现相同的结果,但具有相反顺序的函数数组。使用累加器调用函数,累加器返回函数调用的结果。
这种方法是可能以后(或永远不会)使用实际实验 管道 operator|>的实际实现,它具有以下语法:
expression |> function
或者使用您的函数:未定义 |> 五次 |> 次 |> 七次
function expression(number, operation) {
console.log('expression');
if (!operation) return number;
return operation(number);
}
function five(operation) {
console.log('five');
return expression(5, operation);
}
function seven(operation) {
console.log('seven');
return expression(7, operation);
}
function times(x) {
console.log('times');
return function(y) {
return y * x;
}
}
console.log(seven(times(five()))); // 35
console.log([five, times, seven].reduce((value, fn) => fn(value), undefined))
添加回答
举报