什么是声明式编程?什么是命令式编程?

命令式编程:命令“机器”如何去做事情(how),这样不管你想要的是什么(what),它都会按照你的命令实现。

声明式编程:告诉“机器”你想要的是什么(what),让机器想出如何去做(how)。

举例说明:用命令式编程

var array1 = [1,2,3,4]

var array2 = [];

for(var i = 0;i < array1.length;i++){

var newArray = array[i] * 2

array2.push(newArray)

}

console.log(array2)  //结果为:[2,4,6,8]

这个例子是把一个数组里元素的数值扩大两倍。这就需要我们遍历整个数组,然后一个一个去改变数值。

用声明式编程:

var array1 = [1,2,3,4]

var array2 = array1.map(function(n){

return n * 2

})

console.log(array2) //结果为:[2,4,6,8]

功能和上面一样,但实现过程却不一样。map 利用当前数组创建了一个新数组,新数组的每个元素都是经过传入map的函数(function(n){return n*2}来处理的)。

这里与上面的区别在于:map函数将直接遍历整个数组的过程归纳抽离出来,让我们专注于描述我们想要的是什么(what),而上面的例子专注于怎么去做(how).

本文借鉴自:(http://jingyan.baidu.com/article/4f34706ef9dc3ae387b56dee.html)



猜你喜欢

转载自blog.csdn.net/qq_21205435/article/details/44257075