HTML 虚拟DOM和真实DOM的区别

HTML 虚拟DOM和真实DOM的区别

DOM是什么?

DOM指的是文档对象模型,它是HTML文档中所有节点的结构表示。DOM表示您应用程序的UI。需要通过DOM操作来动态更改网页的内容。DOM是一个接口,允许脚本更新文档的内容、样式和结构。

真实DOM

DOM表示网页,常被称为一个逻辑树,树的每个分支以一个节点结束,每个节点包含程序员可以修改的对象。使用脚本语言(如JavaScript)可以修改文档的内容,由于其类似树形结构的特性,DOM的更改和更新非常快,但是在更改后,必须重新渲染更新的元素及其子元素,以更新应用程序的UI,所以UI组件需要在每次DOM更新时重新渲染,因此真实的DOM将渲染整个列表,而不仅仅是那些接收到更新的项目。

举例:

HTML 虚拟DOM和真实DOM的区别

虚拟 DOM

  • VDOM 是真实 DOM 的虚拟表示
  • React 首先在虚拟 DOM 中更新状态变更,然后将其与真实 DOM 同步
  • 虚拟 DOM 就像机器的蓝图,可以在蓝图上进行更改,但这些更改并不直接应用于机器。
  • 虚拟 DOM 是一个编程概念,其中 UI 的虚拟表示在内存中保持与“真实 DOM”同步,由诸如 ReactDOM 的库实现,并称此过程为协调
  • 虚拟 DOM 使性能更快,原因不是因为处理本身所花费的时间更少。原因是改变信息的数量 – 而不是浪费时间更新整个页面,可以将其划分为小元素和交互

示例:

HTML 虚拟DOM和真实DOM的区别

DOM的方法:

  • write(”string”): 在文档区域中写入字符串
  • writeln(”string”): 在文档区域中写入换行字符串
  • getElementById(”id”): 返回具有传递的ID的元素
  • getElementByName(”name”): 返回具有传递的名称的元素
  • getElementByTagName(”tagname”): 返回具有传递的标签名称的元素
  • getElementByClassName(”classname”): 返回具有传递的类名的元素

现在让我们了解真实DOM和虚拟DOM之间的区别:

真实DOM 虚拟DOM
操作DOM的代价很高 操作DOM很容易
存在很多内存浪费 没有内存浪费
更新慢 更新快
可以直接更新HTML 不能直接更新HTML
如果元素更新,会创建一个新的DOM 如果元素更新,会更新JSX
可以直接定位到任何特定的节点(HTML元素) 可每秒产生约200,000个虚拟DOM节点
代表应用程序的用户界面层 仅是DOM的虚拟表示

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程