我做练习,并根据时代的函数被调用的次数,不同的结果应该返回。如果函数例如被调用了0,1,2次,它应该返回一个数字(见下面),如果它被调用超过3次AND为奇数(称为3次,第三次调用=奇数),那么它应该返回返回一个字符串,等等。我知道我会怎么做,如果它只是调用一次或根本没有,但我无法弄清楚如何写奇数/偶数倍代码..多少次调用函数(偶/奇次数)
这一部分提供的,不应该被改变:
var plus = function (a,b) {
return a+b;
}
var func = sometimes(plus);
var array = [];
for(var i = 0; i < 8; i++){
array.push(func(2+i,3+i)) //should return [7,9,11, 'no idea']
}
这是我写的功能,显然是错误的..
function sometimes (newFunc){
var called = newFunc();
if (called>4) {
return newFunc;
}
}
http://www.w3schools.com/js/js_function_closures.asp –
您正在使用一个变量'called'(可能更好地命名为'count'或'calledCount'或其他),但是将它初始化为由'newFunc()'返回的值。相反,你想要将该变量初始化为零,然后**返回一个函数**,在该函数内您执行检查并返回正确的值。 – 2016-05-31 05:27:11
问题是我怎么能这样做,偶数次叫做? – juliascoding