函数调用后将参数传递给javascript函数?

时间:2014-12-19 21:47:49

标签: javascript parameters

我正在创建一个返回线性序列的任意项的函数。测试用例如下所示:

Test.assertEquals(getFunction([0, 1, 2, 3, 4])(5), 5, "Nope! Try again.");
Test.assertEquals(getFunction([0, 3, 6, 9, 12])(10), 30, "Nope! Try again.");
Test.assertEquals(getFunction([1, 4, 7, 10, 13])(20), 61, "Nope! Try again.");

我不懂函数调用。我编写了这段代码来确定线性序列的函数并计算一个任意项,但我不知道如何将我的函数传递给计算项:

function getFunction(sequence) {
  var diff = sequence[1] - sequence[0];
  var init = sequence[0];

  return diff*arguments[1]+init;
}

arguments [1]不访问参数后传入的术语。如何在第一个示例中访问术语(5)?

Test.assertEquals(getFunction([0, 1, 2, 3, 4])(5), 5, "Nope! Try again.");

1 个答案:

答案 0 :(得分:2)

您需要从getFunction()返回一个函数,以便像测试所期望的那样链接函数调用

这样的事情:

function getFunction(sequence) {
  var diff = sequence[1] - sequence[0];
  var init = sequence[0];
  return function(num) {
     return diff*num+init;
  }
}