命令式編程:命令“機器”如何去做事情(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)