虚拟dom
在更改html源码的时候,浏览器并不直接操作真实dom进行修改,而是在js通过抽象语法树编译生
成的虚拟dom上进行修改,虚拟dom会有真实dom的所有属性
而h函数就是用来在虚拟dom上产生虚拟节点的函数
一个虚拟节点有一些什么元素
1 | { |
h 函数
h函数支持多种参数使用方式,但是sel参数(第一个参数)是必须传入的
用h函数创建一个虚拟节点
1 | var myVnode1 = h('a',{props{herf: 'http://www.wdnmd.com'}},'离谱') |
手撕h函数
在这里使用js语法,并且该h函数必须传入三个参数,需要注意的是,库中的h函数更加强大,支持多种参数的传入
1 | //首先手写一个vnode函数 |
1 | //接下来手撕低配版h函数 |
以上,就是手撕低配版h函数的所有内容噜,明天按理说就是diff算法噜(有点难)
重新学习vue3第二天
写于寝室