我正在上本课: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/