1. 虚拟DOM的由来
DOM(Document Object Model,文档对象模型)是 HTML 和 XML 文档的编程接口。它提供了对文档的结构化的表述,并定义了一种方式可以使从程序中对该结构进行访问,从而改变文档的结构,样式和内容。
更简单的说,浏览器渲染页面就是基于DOM实现的,它将web页面和脚本或程序语言连接起来了。
1.1 真实DOM的存在形式
align,title,lang,translate,dir,hidden,accessKey,draggable,spellcheck,autocapitalize,contentEditable
,isContentEditable,inputMode,offsetParent,offsetTop,offsetLeft,offsetwidth,offsetHeight,style,
innerText,outerText,oncopy,oncut,onpaste,onabort,onblur,oncancel,oncanplay,oncanplaythrough,
onchange, onclick,onclose,oncontextmenu,oncuechange,ondblclick, ondrag, ondragend, ondragenter,
ondragleave, ondr agover,ondragstart,ondrop,ondurationchange,onemptied, onended, onerror,
onfocus, oninput, oninvalid, onk eydown, onkeypress, onkeyup, onload, onloadeddata,
onloadedmetadata, onloadstart, onmousedown, onmouseente r, onmouseleave, onmousemove,
onmouseout, onmouseover, onmouseup, onmousewheel, onpause, onplay, onplay, onplaying,
onprogress, onratechange, onreset, onresize, onscroll, onseeked, onseeking, onselect,
onstalled, onsubmit, onsuspend, ontimeupdate, ontoggle, onvolumechange, onkaiting, onwheel,
onauxclick, ongotpointercapture, onlostpointercapture, onpointerdown, onpointermove,
onpointerup, onpointercancel, onpointerover, onpointero ut, onpointerenter, onpointerleave,
onselectstart, onselectionchange, onanimationend, onanimationiterati on, onanimationstart,
ontransitionend, dataset, nonce, autofocus, tabIndex, click, focus, blur, enterKeyHint,
onformdata, onpointerrawupdate, attachInternals, namespaceURI, prefix, lo