如何记录返回函数的函数结果?

时间:2018-09-19 15:10:22

标签: javascript

我正在尝试记录一个返回如下函数结果的函数:

    function rutRow(x){
      return function(){
        return x;
      }
    }
    
    console.log(rutRow(4));  // expect 4, getting function(){ return x; }

1 个答案:

答案 0 :(得分:3)

它称为 currying 。当您调用rutRow(4)时,它会重新调整另一个功能而不是。为此,请为您的案例添加一个额外的括号(),以获取期望的数据 4

咖喱 以Haskell Brooks Curry的名字命名,咖喱是将一个函数分解为一系列每个带有一个参数的函数的过程。

它的工作原理是这样

  

它接受一个参数并返回一个函数。返回的   函数还接受一个参数并返回另一个函数   也接受一个论点和……

function rutRow(x) {
  return function() {
    return x;
  }
}

console.log(rutRow(4)());

查看更多信息: https://hackernoon.com/currying-in-js-d9ddc64f162e