近期的项目涉及到了前端的一系列知识,所以就简单的总结一下。因为不是前端人员,相关的概念可能不会分析的很深,如果说法有问题,希望路过的大佬们多多指教。下面说的大多是自己的理解,尽可能简洁又通俗。
说到浏览器渲染,一个重要前提应该就是dom。dom,全称,文档对象模型(Document Object Model,简称DOM)。一般更多人习惯说成dom树,在百科里看到一般分为xml和html两种,据目前的了解,浏览器一般支持的事html。这里不涉及编写网页的具体语法等等,主要的呈现应该是html+JavaScript+CSS的组合,三者依次代表基本界面、外界方法、特效样式三方面。
下面说一下正题渲染流程。首先是解析阶段,属于代码解析,把html的写法转换为机器理解的编制。其次是处理阶段,属于数据处理吧,根据需要的数据类型进行整理,方便之后的渲染。最终的阶段属于渲染阶段,也算是dom树的最终成型阶段,结果也最后呈现。在html解析过程中,遇到js标签或者style标签读取失败,可能会导致最终的呈现失败,所以可以说是由三部分共同组成的整个渲染结果,当然如果需要调用方法或者特效实现,js和css更是不可缺的。
关于一些深层问题,例如虚拟dom,双缓冲机制这些,可以再看一下别的文章,感觉这一篇文章写的还是比较详细的
不是很专业,说的不好,希望大家多多指教。