命令式编程:命令“机器”如何去做事情(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函数将直接遍历整个数组的过程归纳抽离出来,让我们专注于描述我们想要的是什么(what),而上面的例子专注于怎么去做(how).
本文借鉴自:(http://jingyan.baidu.com/article/4f34706ef9dc3ae387b56dee.html)