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的属性一一照应。