gpt4 book ai didi

javascript - 带有两个括号和两个参数的 JS 函数

转载 作者:可可西里 更新时间:2023-11-01 02:50:27 26 4
gpt4 key购买 nike

我正在尝试了解使用两个括号和两个参数运行的函数的工作原理。像这样:

add(10)(10); // returns 20

我知道如何编写一个带有两个参数的代码:

function add(a, b) {
return a + b;
}

add(10,10); // returns 20

我如何更改该函数,使其可以使用一组或两组参数运行,并产生相同的结果?

感谢任何帮助。简直让我摸不着头脑。

提前致谢!

最佳答案

How could I alter that function so it could be run with one set of parameters, or two, and produce the same result?

几乎可以这样做,但我正在努力想出一个好的理由。

方法如下:您检测您的函数接收了多少个参数,如果它只接收到一个参数,则返回一个函数而不是一个数字——并且让那个函数添加第二个数字,如果它被调用:

function add(a,b) {
if (arguments.length === 1) {
return function(b2) { // You could call this arg `b` as well if you like,
return a + b2; // it would shadow (hide, supercede) the one above
};
}
return a + b;
}
console.log(add(10, 10)); // 20
console.log(add(10)(10)); // 20

我在上面说“几乎”是因为仅仅因为 add 函数只收到一个参数,这并不能保证调用者会调用结果。他们可以写:

var x = add(10);

...永远不要调用 x 现在引用的函数。

关于javascript - 带有两个括号和两个参数的 JS 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29822008/

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