编写一个计算a + b的JavaScript函数。该 必须能够以两种不同的方式调用函数:
calculate(a, b); calculate(a)(b);
答案 0 :(得分:-4)
以下是我想出的解决这个问题的代码。请随时询问有关其工作原理或可采取哪些措施来改进它的问题。
var calculate = function () {
var arg1 = arguments[0];
if (arguments.length === 2) {
return arg1 + arguments[1];
}
if (arguments.length === 1) {
return function (secondNum) {
return secondNum + arg1;
}
}
}
正如您所看到的,此功能中有一些概念在起作用。 arguments数组在任何JavaScript函数中都可用。它允许您检查传递给函数的所有参数。正如你所看到的,我首先检查我们是否有2个参数,这可以让我知道我应该将它们加在一起。
在第二种情况下,我只有一个参数,所以我将返回一个函数来帮助我完成函数(x)(y)的情况。