本文由Deguang 发表于 码路-技术博客javascript
主要的编程范式有:html
React推行的是声明式编程的思想,下面来对比学习下命令式编程与声明式编程,理解其中区别,以便于掌握React。java
命令式编程描述代码如何工做,告诉计算机一步步地执行、先作什么后作什么。编程
好比,去酒吧点一杯酒,指挥服务员:segmentfault
这就是按照声明式方式点一杯酒的,须要告知服务员如何给顾客提供一杯酒。数组
这里有一个代码示例,编写一个函数,处理传入包含大写字符串的数组,返回包含相同小写字符串的数组。ide
toLowerCase(['FOO', 'BAR']); // ['foo', 'bar']
命令式函数实现:函数式编程
const toLowerCase = arr => { const res = []; for (let i = 0, len = arr.length; i < len; i++) { res.push(arr[i].toLowerCase()); } return res; }
首先,建立一个空数组用于保存结果,而后遍历输入数组的全部元素,将每项元素的小写值存入空数组中,而后返回结果数组;
声明式编程代表想要实现什么目的,应该作什么,可是不指定具体怎么作。函数
声明式点一杯酒,只要告诉服务员:我要一杯酒便可;学习
声明式编程实现toLowerCase
:
const toLowerCase = arr => arr.map( value => value.toLowerCase(); )
输入数组的元素传递给
map
函数,而后返回包含小写值的新数组
相对比而言,声明式编程
示例:带有标记的地图
const map = new Map.map(document.getElementById('map'), { zoom: 4, center: {lat,lng} }); const marker = new Map.marker({ position: {lat, lng}, title: 'Hello Marker' }); marker.setMap(map);
这是在JavaScript中命令式建立地图、建立标记以及在地图上添加标记的步骤;
<Map zoom={4} center={lat, lng}> <Marker position={lat, lng} title={'Hello Marker'}/> </Map>
声明式编程方式使得React组件很容易使用,最终的代码简单易于维护。