试图理解一个在JS中有两个参数输入的函数(如函数X(param1)(param2))

Trying to comprehend a function that has two inputs for parameters in JS (as in functionX(param1)(param2))

本文关键字:函数 输入 参数 两个 param2 param1 一个 JS      更新时间:2023-09-26

我对面试准备时遇到的这个问题感到非常困惑。它希望我能够编写一个名为multiply的函数,以这种随意的方式接收参数:

multiply(5)(6);

我试着写一个回调,然后在return语句中引用它,但这不是kosher。

function multiply(function(value){
return this * value;
});
}

这个问题需要递归吗?

谢谢!

如果您想以这种multiply(5)(6);方式调用函数,

然后您必须搜索函数当前。这可以通过来实现

function multiply(a){
 return function(b){
   return b * a;
 }
} 
//your way
console.log(multiply(2)(2)) //4
//The standard way
var multiplyBy5 = multiply(5);
var res = multiplyBy5(3); 
console.log(res); // 15;
var multiplyBy10 = multiply(10);
var res = multiplyBy5(3);
console.log(res); // 30;