我正在尝试记录一个返回如下函数结果的函数:
function rutRow(x){
return function(){
return x;
}
}
console.log(rutRow(4)); // expect 4, getting function(){ return x; }
答案 0 :(得分:3)
它称为 currying 。当您调用rutRow(4)
时,它会重新调整另一个功能而不是值。为此,请为您的案例添加一个额外的括号()
,以获取期望的数据 4
咖喱 以Haskell Brooks Curry的名字命名,咖喱是将一个函数分解为一系列每个带有一个参数的函数的过程。
它的工作原理是这样
它接受一个参数并返回一个函数。返回的 函数还接受一个参数并返回另一个函数 也接受一个论点和……
function rutRow(x) {
return function() {
return x;
}
}
console.log(rutRow(4)());