我试图创建一个函数“三次”,该函数返回另一个函数。
我在下面有以下代码:
const thrice = (inputFunc) => {
return inputFunc()
}
let eight;
eight = thrice(() => {
return 8;
});
const value = eight();
value
我的期望值是:8.根据我的测试规格,该值应该等于8。
但是当我运行代码时,它返回:TypeError: eight is not a function
我在做什么错?我的直觉是我应该在三次函数中执行return inputFunc
。但是我从概念上不明白为什么。
答案 0 :(得分:0)
注意
thrice(() => {
return 8;
});
不是函数,而是函数调用,因此eight
等于8。
所以要解决这个问题:
eight = ()=> thrice(() => {
return 8;
});
// or
eight =function(){ thrice(() => {
return 8;
});};