命令式编程\声明式编程\函数式编程

发布时间 2023-04-10 11:42:11作者: 古锁阳关

命令式编程(Imperative):详细的命令机器怎么(How)去处理一件事情以达到你想要的结果(What);
声明式编程(Declarative):只告诉你想要的结果(What),机器自己摸索过程(How)。
命令式编程是我们一步一步告诉机器需要怎么做,机器按部就班地执行命令。声明式编程是我们告诉机器我想要这样的结果,而不管他是怎么实现的,这更符合人类的思维。举一个数据过滤的例子来说明这一点,比如我们要打印下数组中存不存在 3。

// 命令式编程做法
let res = false;
for(i = 0; i < dataArr.length; i++) {
    if (i === 3) {
        res = true;
    }
}
console.log(res);

// 声明式编程做法
let res = dataArr.filter(i => i === 3);
console.log(res);

响应式编程:它希望有某种方式能够构建关系,而不是执行某种赋值命令。响应式编程是一种通过异步和数据流来构建事务关系的编程模型。

构建关系是指我们可以定义两个变量(A 和 B)之间具有某种永恒的关系。一旦 A 变量改变,我们不需要人为地对 B 变量进行任何处理,B 变量自动更改以满足与 A 变量已经定义好的关系。

A = 1;

B - A := 2;     // 定义一种关系,这里是指 B 减去 A 永远等于 2
console.log(B); // B = 3

A = 3;          // A 改变
console.log(B); // B = 5

https://notes.gryen.com/articles/show/279.html

https://blog.csdn.net/qq_35040959/article/details/126084583

 

聊聊编程范式