🎶 Sym - 一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)平台

📕 思源笔记 - 一款桌面端笔记应用,支持 Windows、Mac 和 Linux

🎸 Solo - B3log 分布式社区的博客端节点,欢迎加入下一代社区网络

♏ Vditor - 一款浏览器端的 Markdown 编辑器

命令式编程和声明式编程有什么区别?

2019-02-13

回答

这两种编程可以简单的概括为:

  • 命令式编程:如何命令计算机完成
  • 声明式编程: 我要完成什么

声明式编程的一个常见例子是 CSS。开发人员只需要指定 CSS 的属性就可以描述出元素的样子,而不需要去关心如何让他成为这个样子。 如何由你来命令浏览器完成。

另一方面,命令式编程还涉及完成某些事情所需的步骤。在 JavaScript 中,两者区别如下:

命令式编程

const numbers = [1, 2, 3, 4, 5]
const numbersDoubled = []
for (let i = 0; i < numbers.length; i++) {
  numbersDoubled[i] = numbers[i] * 2
} 

我们手动循环遍历数组中的元素,然后将每个元素乘以 2 后赋给另外一个数组。

声明式编程

const numbers = [1, 2, 3, 4, 5]
const numbersDoubled = numbers.map(n => n * 2) 

我们声明一个新的数组,让其中的每一个元素为原有数组中每一个元素的 2 倍。

加分回答

  • 声明式编程通常用于函数和表达式且更加关注于抽象和简洁,而命令式编程通常用于语句并且依赖于一些特殊的底层的特性。
  • 声明式编程更为简洁、一目了然。

返回总目录

每天 30 秒


欢迎注册黑客派社区,开启你的博客之旅。让学习和分享成为一种习惯!

留下你的脚步