美丽心灵公益论坛

查看: 486|回复: 3

什么是函数式编程:

[复制链接]
累计签到:534 天
连续签到:1 天

887

主题

3114

回帖

4万

积分

版主

Rank: 7Rank: 7Rank: 7

积分
48404
发表于 2024-12-19 17:06:18| 字数 62 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 legs+ 于 2024-12-19 17:09 编辑

就是函数最大,没有那么多弯弯绕绕,直接就是:函数.属性(或者方法)。
累计签到:534 天
连续签到:1 天

887

主题

3114

回帖

4万

积分

版主

Rank: 7Rank: 7Rank: 7

积分
48404
 楼主| 发表于 2024-12-19 17:08:07| 字数 290 | 显示全部楼层
函数式编程的特点
不可变性:
在函数式编程中,数据通常是不可变的。一旦创建,数据就不能被修改。这有助于避免副作用,使程序更易于理解和调试。
2. 高阶函数:
函数可以作为参数传递给其他函数,也可以作为返回值返回。这使得函数可以组合和重用,增强了代码的灵活性。
纯函数:
纯函数是指相同的输入总是产生相同的输出,并且没有副作用(例如,不修改外部状态)。这使得函数的行为更加可预测。
4. 函数组合:
函数式编程鼓励将小的、简单的函数组合成更复杂的函数。这种组合可以提高代码的可读性和可维护性。
5. 惰性求值:
一些函数式编程语言支持惰性求值,即表达式在需要时才被计算。这可以提高性能并允许处理无限数据结构。
累计签到:534 天
连续签到:1 天

887

主题

3114

回帖

4万

积分

版主

Rank: 7Rank: 7Rank: 7

积分
48404
 楼主| 发表于 2024-12-19 17:17:39| 字数 58 | 显示全部楼层
说自白一点,函数式编程就是没有if、switch啥的选择判断流程,直接上函数
如 map、filter 和 reduce 函数
累计签到:534 天
连续签到:1 天

887

主题

3114

回帖

4万

积分

版主

Rank: 7Rank: 7Rank: 7

积分
48404
 楼主| 发表于 2024-12-19 17:26:30| 字数 121 | 显示全部楼层
const addCart = (item) => {
  cart.value.push(item.value);
};
上面就是一个函数式编程的举例,直接一个箭头函数(lambda函数),当然在实际写代码的时候不推荐lambda函数,增加网页渲染的负担
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|免责及版权声明|关于|美丽心灵公益论坛

GMT+8, 2025-10-14 05:21 , Processed in 0.040045 second(s), 29 queries .

Powered by Discuz! X3.4

!copyright!

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