Rxjs学习笔记一

4 篇文章 0 订阅

函数式编程

  • 声明式

和声明式相对应的编程方式叫命令式编程,两者区别参考函数的map和for循环

  • 纯函数

满足两点条件:1,函数的执行过程完全由输入参数决定,不会受除参数之外的任何数据的影响;2,函数不会修改任何外部状态,比如修改全局参数或传入的参数对象

与纯函数相反的是不纯函数,可能会做以下几点:1,改变全局参数的值; 2,改变输入参数的对象 3,读取用户的输入,比如调用了alert或者confirm函数 4,抛出一个异常  5,网络输入输出操作,操作浏览器的DOM

  • 数据不可变

当我们需要数据状态发生改变时,保持原有数据不变,产生一个新的数据来体现这种变化

为什么函数式编程最近才崛起

函数式编程诞生于1958年,当初编程要考虑硬件的架构,而现在芯片转为多核,软件架构也向分布式方向发展

函数式编程和面向对象编程的比较

面向对象编程思想是把数据封装在类的实例对象中,把数据隐藏起来,让外部不能直接操作这些对象,只有通过类提供的实例方法来读取和修改这些数据,带来的缺点是修改历史完全被隐藏了,没法知道对象是一步一步走向这个状态的,导致代码的可维护性下降;

而函数式编程,倾向于数据就是数据,函数就是函数,让每个函数都不要去修改原有的数据(不可变性),而且通过产生新的数据来作为运算结果(纯函数)

响应式编程

程序的输入看做一个数据流

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值