什麼是聲明式編程?什麼是命令式編程?

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



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章