找回密码
 立即注册

查看: 724|回复: 0
打印 上一主题 下一主题

什么是函数式编程?

[复制链接]

1

主题

1

帖子

5

积分

新手上路

Rank: 1

积分
5
跳转到指定楼层
楼主
发表于 2024-1-18 15:09:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
作为一名程序员,您可能希望编写优雅、可维护、可扩展、可预测的代码。函数式编程(FP)的原理可以极大地帮助实现这些目标。 Backward Skip 10s Play Video Forward Skip 10s 函数式编程是一种范例或风格,重视不变性、一流函数、引用透明性和纯函数。如果这些词对您来说都没有意义,请不要担心!我们将在本文中详细解释所有这些术语。 函数式编程从 lambda 演算发展而来,这是一种围绕函数抽象和泛化构建的数学系统。因此,很多函数式编程语言看起来都非常数学化。不过,好消息是:您不需要使用函数式编程语言将函数式编程原则引入代码中。

在这篇文章中,我们将使用 JavaScript,它具有许多功能,使其适合函数式编程,同时又不受该范式的束缚。 函数式编程的核心原则 既然我们已经讨论了什么是函数式编程,那么我们来谈谈 FP 背后的核心原理。 纯 黎巴嫩电话号码表 函数 Learn to Code with JavaScript 我喜欢将函数视为机器——它们接受输入或参数,然后输出一些东西,即返回值。纯函数没有“副作用”或与函数输出无关的操作。一些潜在的副作用是打印一个值或使用 注销它,或者操作函数外部的变量。 这是一个不纯函数的示例纯函数的运行独立于函数外部的状态,因此它们不应依赖于全局状态或自身外部的变量。



在第一个示例中,我们使用number在函数外部创建的变量,并将其设置在函数内部。这违反了原则。如果您严重依赖不断变化的全局变量,您的代码将不可预测且难以跟踪。找出错误发生的位置以及值发生变化的原因将变得更加困难。相反,仅使用函数的本地输入、输出和变量可以更轻松地进行调试。 此外,函数应该遵循引用透明性,这意味着给定一定的输入,它们的输出将始终相同。在上面的函数中,如果我传递2给该函数,它将4始终返回。对于 API 调用或生成随机数而言,情况并非如此,举两个例子。给定相同的输入,输出可能会也可能不会返回。

回复

使用道具 举报

     
    Archiver|手机版|小黑屋|

GMT+8, 2024-5-6 18:12 , Processed in 0.093750 second(s), 20 queries , Gzip On.

© 2001-2020 Powered by Discuz! X3.3. program By 手游私服 版权所有

快速回复 返回顶部 返回列表