下面是一个名为 functionA 的高阶函数示例,它以 customValue 作为输入并返回一个函数,该函数获取输入并使用自定义值来详细说明结果:
let functionA = (customValue) => {
let value = customValue || 1;
return input => input * value;
};
以下是一些结果:
functionA()(4)
// => returns 4
functionA(2)(4)
// => returns 8
functionA(3)(4)
// => returns 12
functionA(4)(4)
// => returns 16
functionA 返回的函数可以认为是纯函数吗?
更新:上面的例子只使用数字输入。正如@CRice 所描述的,只有当 customValue 是常量并且没有内部状态(如类)时,才可以将返回的函数视为纯函数。