思路:首先使用{tag,props,text,children}析构vnode,再判断tag是否为undefined,如果没有标签则直接使用createTextNode方法创建文本节点并返回,反之使用createElement方法创建tag标签元素,并遍历props对象,使用setAttribute方法为元素设置属性,再遍历子元素数组,依次递归创建子元素,并使用appendChild方法挂载在父元素上,最后返回当前元素即可。 <script> var vnode = { tag: 'ul', props: { class: 'list' }, text: '', children:...