前端函数式编程中的各种概念_白澜_前端开发者

本文不涉及深层次的解析,仅作为知识点的查阅。因为概念介绍的比较简单,所以只适合有一定基础的人群阅读。

本文不涉及深层次的解析,仅作为知识点的查阅。因为概念介绍的比较简单,所以只适合有一定基础的人群阅读。

1、什么是函数式编程?

1、什么是函数式编程?什么是函数式编程?

  利用函数把运算过程封装起来,通过组合各种函数来计算结果。(将一套业务流程分割成多个功能,每个功能都用函数封装起来,最后实现这个业务其实就是在调用这些功能函数,这就是函数式编程)

  利用函数把运算过程封装起来,通过组合各种函数来计算结果。(将一套业务流程分割成多个功能,每个功能都用函数封装起来,最后实现这个业务其实就是在调用这些功能函数,这就是函数式编程)利用函数把运算过程封装起来,通过组合各种函数来计算结果。(将一套业务流程分割成多个功能,每个功能都用函数封装起来,最后实现这个业务其实就是在调用这些功能函数,这就是函数式编程)运算过程运算过程

2、一些与函数式编程相关的概念

2、一些与函数式编程相关的概念一些与函数式编程相关的概念

  • 纯函数 – 指的是函数无副作用,相同的输入(函数参数)有相同的输出(函数返回)
  • 闭包 – 存在内、外两层函数,内层函数对外层函数的局部变量进行来引用。(用途:定义一些作用域局限的持久化变量)
  • 递归 – 在函数内部调用函数自身。(非常消耗内存,易产生栈溢出错误,解决:严格模式下,采用尾调用;正常模式下,改为循环)
  • 尾调用 – 某个函数的最后一步是调用另一个函数,仅调用,不能有其他操作,但是参数可以
  • pointfree – 不使用要处理的值的形参,只合成运算过程,可以使代码更加清晰(就是将一些通用的函数,组合出各种复杂运算,省略掉中间不必要的参数变量)
  • 柯里化 – 把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术(官文翻译有点抽象,就是说把有多个参数的函数变成只有一个参数的函数,这个函数返回一个新函数,这个新函数接受剩余的参数并且返回最后的结果,这个过程就叫做柯里化)
    // 普通的add函数
    function add(x, y) {
        return x + y
    }
    
    // 柯里化后
    function curryingAdd(x) {
        return function (y) {
            return x + y
        }
    }
    
    add(1, 2)           // 3
    curryingAdd(1)(2)   // 3
  • 高阶函数 – 一个函数以函数为参数,或以函数为返回值,或这两种行为都有。
  • 纯函数 – 指的是函数无副作用,相同的输入(函数参数)有相同的输出(函数返回)
  • 纯函数 – 指的是函数无副作用,相同的输入(函数参数)有相同的输出(函数返回)纯函数 – 指的是函数无副作用,相同的输入(函数参数)有相同的输出(函数返回)

  • 闭包 – 存在内、外两层函数,内层函数对外层函数的局部变量进行来引用。(用途:定义一些作用域局限的持久化变量)
  • 闭包 – 存在内、外两层函数,内层函数对外层函数的局部变量进行来引用。(用途:定义一些作用域局限的持久化变量)闭包 – 存在内、外两层函数,内层函数对外层函数的局部变量进行来引用。(用途:定义一些作用域局限的持久化变量)

  • 递归 – 在函数内部调用函数自身。(非常消耗内存,易产生栈溢出错误,解决:严格模式下,采用尾调用;正常模式下,改为循环)
  • 递归 – 在函数内部调用函数自身。(非常消耗内存,易产生栈溢出错误,解决:严格模式下,采用尾调用;正常模式下,改为循环)递归 – 在函数内部调用函数自身。(非常消耗内存,易产生栈溢出错误,解决:严格模式下,采用尾调用;正常模式下,改为循环)

  • 尾调用 – 某个函数的最后一步是调用另一个函数,仅调用,不能有其他操作,但是参数可以
  • 尾调用 – 某个函数的最后一步是调用另一个函数,仅调用,不能有其他操作,但是参数可以尾调用 – 某个函数的最后一步是调用另一个函数,仅调用,不能有其他操作,但是参数可以

  • pointfree – 不使用要处理的值的形参,只合成运算过程,可以使代码更加清晰(就是将一些通用的函数,组合出各种复杂运算,省略掉中间不必要的参数变量)
  • pointfree – 不使用要处理的值的形参,只合成运算过程,可以使代码更加清晰(就是将一些通用的函数,组合出各种复杂运算,省略掉中间不必要的参数变量)pointfree – 不使用要处理的值的形参,只合成运算过程,可以使代码更加清晰(就是将一些通用的函数,组合出各种复杂运算,省略掉中间不必要的参数变量)

  • 柯里化 – 把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术(官文翻译有点抽象,就是说把有多个参数的函数变成只有一个参数的函数,这个函数返回一个新函数,这个新函数接受剩余的参数并且返回最后的结果,这个过程就叫做柯里化)
    // 普通的add函数
    function add(x, y) {
        return x + y
    }
    
    // 柯里化后
    function curryingAdd(x) {
        return function (y) {
            return x + y
        }
    }
    
    add(1, 2)           // 3
    curryingAdd(1)(2)   // 3
  • 柯里化 – 把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术(官文翻译有点抽象,就是说把有多个参数的函数变成只有一个参数的函数,这个函数返回一个新函数,这个新函数接受剩余的参数并且返回最后的结果,这个过程就叫做柯里化)柯里化 – 把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术(官文翻译有点抽象,就是说把有多个参数的函数变成只有一个参数的函数,这个函数返回一个新函数,这个新函数接受剩余的参数并且返回最后的结果,这个过程就叫做柯里化)柯里化 – 把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术(官文翻译有点抽象,就是说把有多个参数的函数变成只有一个参数的函数,这个函数返回一个新函数,这个新函数接受剩余的参数并且返回最后的结果,这个过程就叫做柯里化)

    // 普通的add函数
    function add(x, y) {
        return x + y
    }
    
    // 柯里化后
    function curryingAdd(x) {
        return function (y) {
            return x + y
        }
    }
    
    add(1, 2)           // 3
    curryingAdd(1)(2)   // 3
    // 普通的add函数
    function add(x, y) {
        return x + y
    }
    
    // 柯里化后
    function curryingAdd(x) {
        return function (y) {
            return x + y
        }
    }
    
    add(1, 2)           // 3
    curryingAdd(1)(2)   // 3

    // 普通的add函数function add(x, y) {
    return y
    }

    // 柯里化后function curryingAdd(x) {
    returnfunction (y) {
    return y
    }
    }

    add(// 3// 3

  • 高阶函数 – 一个函数以函数为参数,或以函数为返回值,或这两种行为都有。
  • 高阶函数 – 一个函数以函数为参数,或以函数为返回值,或这两种行为都有。高阶函数 – 一个函数以函数为参数,或以函数为返回值,或这两种行为都有。

    » 本文来自:前端开发者 » 《前端函数式编程中的各种概念_白澜_前端开发者》
    » 本文链接地址:https://www.rokub.com/73550.html
    » 您也可以订阅本站:https://www.rokub.com
    赞(0)
    64K

    评论 抢沙发

    评论前必须登录!