我想编写一个名为
以下是我尝试过的内容。但我没有得到我期望的结果。我需要理解这个概念。
once
的函数,它接受一个回调函数作为输入,并返回一个函数。当调用返回的函数第一次时,它应该调用回调函数并返回该输出。如果多次调用该函数,则不会再次调用回调函数,而是仅返回第一次调用时的输出值。以下是我尝试过的内容。但我没有得到我期望的结果。我需要理解这个概念。
function once(func) {
let num;
function retFunc(x){
num = func(x);
return num;
}
return retFunc;
}
function addByTwo(input){
return input + 2;
}
var onceFunc = once(addByTwo);
console.log(onceFunc(4)); //should log 6
console.log(onceFunc(10)); //should log 6
console.log(onceFunc(9001)); //should log 6