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 倍。
加分回答
- 声明式编程通常用于函数和表达式且更加关注于抽象和简洁,而命令式编程通常用于语句并且依赖于一些特殊的底层的特性。
- 声明式编程更为简洁、一目了然。