我正在上本课:http://nathansjslessons.appspot.com/lesson?id=1040

这些是说明:


  定义一个名为applyTest的函数,该函数带有两个参数,一个函数
  f和输入x。您的函数应返回一个包含x的列表,
  输入x上的函数f和输入0上的函数f。


到目前为止,这是我所做的:

var f = function (x) {
    return x + 2;
};

var g = function (x) {
    return x * 3;
};

var applyTest = function (f, x) {
    return [x, f(2), f(0)];
};


这就是JSLint所说的:

PASSED No JSLint errors
PASSED applyTest is a function
PASSED applyTest(f, 1)[0] === 1
FAILED applyTest(f, 1)[1] === 3 (4 !== 3)
PASSED applyTest(f, 1)[2] === 2
PASSED applyTest(f, 2).compareArrays([2, 4, 2])
FAILED applyTest(g, 3).compareArrays([3, 9, 0])


我如何更正该代码以通过课程?

最佳答案



var applyTest = function (f, x) {
    return [x, f(2), f(0)];
};




var applyTest = function (f, x) {
    return [x, f(x), f(0)];
};

关于javascript - 卡在本教程中,关于函数作为值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8150150/

10-12 14:37