react虚拟dom解读
什么是虚拟dom?
一、DOM是什么?
DOM 全称是 Document Object Model,也就是文档对象模型。说白了,DOM对象本身也是一个js对象,所以严格说,并不是操作dom这个对象慢,而是操作这个对象后,会触发浏览器的一些行为。例如:布局(layout)和绘制(paint。
二、浏览器呈现页面机制
浏览器的主要组件包括:
1、用户界面 - 包括地址栏、前进/后退按钮、书签菜单等。除了浏览器主窗口显示的你请求的页面外,其他显示的各个部分都属于用户界面。
浏览器引擎 - 在用户界面和渲染引擎之间传送指令。
2、渲染引擎 - 负责显示请求的内容。如果请求的内容是 HTML,它就负责解析 HTML 和 CSS 内容,并将解析后的内容显示在屏幕上。
3、网络 - 用于网络调用,比如 HTTP 请求。其接口与平台无关,并为所有平台提供底层实现。
4、用户界面后端 - 用于绘制基本的窗口小部件,比如组合框和窗口。其公开了与平台无关的通用接口,而在底层使用操作系统的用户界面方法。
5、JavaScript 解释器。用于解析和执行 JavaScript 代码,比如chrome的javascript解释器是V8。
6、数据存储。这是持久层。浏览器需要在硬盘上保存各种数据,例如 Cookie。新的 HTML 规范 (HTML5)定义了“网络数据库”,这是一个完整(但是轻便)的浏览器内数据库
浏览器