JS-将参数传递给嵌套参数

时间:2019-12-19 23:22:43

标签: javascript function arguments

'cal2(a)(2)'在下面的代码中如何工作?

cal2 = (a) => (b) =>{return a+b}
cal = (a) => { return cal2(a)(2)};
cal(1)
\\ 3

2 个答案:

答案 0 :(得分:0)

这是如何以更传统的格式重写它:

New_L = [L[i] for i in [1,3,5,6]]

这应该可以解释这个难题。

答案 1 :(得分:0)

您的cal函数返回cal2(a)(2)的结果。 cal2是一个函数,它返回另一个函数,在该函数中,您返回传递给call2和返回的匿名函数的2个变量的总和。基本上,cal2(1)仅会返回一个函数,但是当您添加另一个括号时,您也在调用该匿名函数。这是一个例子;

const cal2 = (a) => (b) =>{return a+b}
const cal = (a) => { return cal2(a)(2)};
cal(1); // returns 3;

const aFunction = cal2(3); // it becomes a function
console.log(aFunction(2)); // You can call it anytime, logs:5
console.log(cal2(3)(2)); //You directly called the returned function, logs:5