1. 声明式编程
声明式编程是告诉机器想要什么信息,机器就返回什么信息,偏重结果。
2. 命令式编程
命令式编程是需要做什么事,机器就做什么事,偏重过程。
3. 声明式和命令式对比
//声明式 直接赋值
var arr = [1,2,3,4,5];
var newArr = arr.map(val=>{
return val**2
})
//命令式
let arr = [1,2,3,4,5];
let newArr = [];
let newArr = arr.forEach(val=>{
let result = val**2
newArr.push(result)
})
4. 组件化
组件化是指复杂系统时将多个功能模块拆分、重组的过程。
其实不复杂的功能也可以拆分便于重复利用。
5. 虚拟DOM
从 React
到 Vue
,虚拟 DOM
为这两个框架都带来了跨平台的能力。
实际上它只是一层对真实DOM
的抽象,以JavaScript
对象 (VNode
节点) 作为基础的树,用对象的属性来描述节点,最终可以通过一系列操作使这棵树映射到真实环境上
在Javascript
对象中,虚拟DOM
表现为一个 Object
对象。并且最少包含标签名 (tag
)、属性 (attrs
) 和子元素对象 (children
) 三个属性,不同框架对这三个属性的名命可能会有差别
创建虚拟DOM
就是为了更好将虚拟的节点渲染到页面视图中,所以虚拟DOM
对象的节点与真实DOM
的属性一一照应。