gpt4 book ai didi

Javascript:函数作为参数,可能性

转载 作者:行者123 更新时间:2023-11-30 06:59:05 26 4
gpt4 key购买 nike

我想知道是否可以在 Javascript 中做这样的事情:

one(plus(nine())); // returns 10

看起来是这样,但我不确定如何将 one() 的值传递给 plus() 函数。

最佳答案

一个这样的选择是定义(为简洁起见使用 arrow functions1):

// creates a function that either returns the number, or forwards the number
// as an argument to the provided function
// createNumber(10)() == 10
// createNumber(9)(Math.sqrt) == 3
var createNumber = value => f => f ? f(value) : value;

var one = createNumber(1);
var nine = createNumber(9);

// A very basic curryed implementation of addition
// plus(1)(2) == 3
var plus = a => b => a + b;

它给出了您所需的行为

> one(plus(nine())
10

还有一大堆同样错误但正确的行为

> nine()
9
> nine(plus(one()))
10
> plus(nine())(one())
10
> nine(plus)(one())
10

1:参见 Vincenzo Maggio's answer用于翻译成标准匿名函数

关于Javascript:函数作为参数,可能性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40266611/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com