流浪のwolf

卷帝

导航

柯里化函数

柯里化函数就是一个带有参数的函数返回一个带有另一个参数的函数;要返回一个函数;

使用柯里化函数求 a + b 的和:

  // 箭头函数的简写方式函数体里只有一条语句省略{}
      const add = (a) => (b) => a + b
      console.log(add(4)(5)) // 9
// 然后可以一直链式求和:
      const add = (a) => (b) => (c) => a + b + c
      console.log(add(4)(5)(5)) // 14

柯里化函数思想 :封装函数;

  <script>
      function count(num1, num2) {
        return function calc(type) {
          switch (type) {
            case '+':
              return num1 + num2
            case '-':
              return num1 - num2
            case '*':
              return num1 * num2
            case '/':
              return num1 / num2
          }
        }
      }
      const newCount = count(100, 10)
      //   console.log(count(100, 10)('*'))
      console.log(newCount('+')) //110
      console.log(newCount('-')) //03-柯里化函数.html:28 90
      console.log(newCount('*')) //03-柯里化函数.html:29 1000
      console.log(newCount('/')) //03-柯里化函数.html:30 10
    </script>

posted on 2022-08-24 17:24  流浪のwolf  阅读(27)  评论(0编辑  收藏  举报