浏览器的渲染机制— (js基础复习第3期)

一:几个问题

  1. 什么是DOCTYPE 及作用
  2. 浏览器渲染过程
  3. 重排refolw、重绘repaint、布局Layout
  4. 输入url经历了什么?

二:整理

1. 什么是DOCTYPE 及作用

浏览器使用DTD(文档类型定义)来判断文档类型,决定使用何种协议来解析,
以及切换浏览器模式

DOCTYPE是用来声明文档类型和DTD规范的,一个主要用途是文件的合法性验证。如果文件代码不合法,那么浏览器解析时便会出一些差错。

html5
<!DOCTYPE html>

2.浏览器渲染过程

html-> DOM tree
css -> CSSOM
render tree
Layout
painting
display

3. 重排reflow,repainting?

reflow:
浏览器根据各种样式来计算,并根据计算结果,将元素放到它应该出现的的位置,这个过程为

哪些操作引起reflow:
    1. 增加、删除、修改DOM 结点时候
    2. 移动DOM的位置(可能会修改其他DOM位置)
    3. 修改网页的默认字体时 (重新排)
    4. 修改CSS样式的时候
    5. resize 窗口的时候,或者滚动的时候

repaint:
    当盒子的位置、大小、以及其他属性,例如颜色、字体大小都确定下来后,浏览器于是便吧这些元素都按照各自的特性绘制了一遍,于是页面的内容出现了,这个过程称之为repaint
哪些操作引起repaint?
    1.DOM 改动
    2.css改动

4. url过程

。。。(待整理)

原文地址:https://www.cnblogs.com/qianduanwriter/p/11811954.html

时间: 2024-08-05 08:50:50

浏览器的渲染机制— (js基础复习第3期)的相关文章

转---JS 一定要放在 Body 的最底部么?聊聊浏览器的渲染机制

作者:德来 segmentfault.com/a/1190000004292479 如有好文章投稿,请点击 → 这里了解详情 一.从一个面试题说起 面试前端的时候我喜欢问一些看上去是常识的问题.比如:为什么大家普遍把<script src=""></script>这样的代码放在body最底部?(为了沟通效率,我会提前和对方约定所有的讨论都以chrome为例) 应聘者一般会回答:因为浏览器生成Dom树的时候是一行一行读HTML代码的,script标签放在最后面就不

浏览器的渲染机制,白屏和FOUC

关于浏览器的渲染机制,先要了解一些基本概念: DOM:浏览器解析html构建DOM树 CSSOM:浏览器解析CSS构建CSSOM规则树 Render Tree:DOM和CSSOM合并后生成Render Tree layout:layout:有了Render Tree,浏览器已经能知道网页中有哪些节点.各个节点的CSS定义以及他们的从属关系,从而去计算出每个节点在屏幕中的位置 painting:按照算出来的规则,通过显卡,把内容画到屏幕上 reflow(回流):当浏览器发现某个部分发生了点变化影响

JS基础 复习: Javascript的书写位置

爱创课堂JS基础 复习: Javascript的书写位置 复习 js书写位置: body标签的最底部. 实际工作中使用书写在head标签内一对script标签里. alert()弹出框. console.log() 字面量: 数字字面量:整数,浮点数,特殊字符(Infinity,NaN). 字符串字面量:所有的语言, 语言中的数字,特殊字符串. 变量: 定义变量 标识符的规则:第一个字符是字母(a-z,A-Z),下划线,$.其他字符可以是字母(a-z,A-Z),下划线,$,数字.(还不能使用js

浏览器的渲染机制

Google Web Fundamentals 是一个非常优秀的文档,里面讲到了跟web.浏览器.前端的方方面面.我总结一下其中的 Ilya Grigorik 写的 Critical rendering path 浏览器渲染机制部分的内容如下: 几个概念 1.DOM:Document Object Model,浏览器将HTML解析成树形的数据结构,简称DOM. 2.CSSOM:CSS Object Model,浏览器将CSS代码解析成树形的数据结构. 3.DOM 和 CSSOM 都是以 Byte

JS基础复习

js基础语法 Netcape js基础语法规范(ECMAScript1,2,3,3.1,5(IE9),6   ES    ES6=es2015) DOM BOM BOM :是由浏览器厂商各自实现的,所以差异比较大 DOM:相关的规范  是由W3C维护的 Node的优势  没有浏览器的兼容性问题 前端项目尽量不要使用ES6,需要考虑兼容性问题 --------------------------------数据类型--------------------------- 1.数据类型分类: 基本数据

浏览器页面渲染机制及简单优化

浏览器的内核是指支持浏览器运行的最核心的程序,分为两个部分: 1:渲染引擎 2:JS引擎 目前市面上常见的浏览器内核可以分为这四种:Trident(IE).Gecko(火狐).Blink(Chrome.Opera).Webkit(Safari) 页面加载过程要点如下: 1:浏览器根据DNS服务器得到域名的IP地址 2:向这个IP的机器发送HTTP请求 3:服务器收到.处理并返回HTTP请求 4:浏览器得到返回内容 浏览器渲染过程: 1:浏览器会解析三个东西: ①.HTML/SVG/XHTML,H

js基础复习---数组操作

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="keywords" content="js数组操作"> <meta name="description" content="js基础之数组api练习"> <title

JS一定要放在Body的最底部么? 聊聊浏览器的渲染机制

请参看文章 https://segmentfault.com/a/1190000004292479 网上的回答: 1.js加载会阻塞其它内容加载,使页面加载时间更长,尤其是js文件太大,有的页面js文件数兆/客户端网速太慢/服务器网速太慢,甚至不能访问等情况. 2.dom操作,页面没提前加载,dom操作会失败,报错. 3.搜索引擎优化.

js 基础复习 之 js 类型判断

ECMAScirpt 变量有两种不同的数据类型:基本类型,引用类型. 1.基本类型 基本的数据类型有:`undefined,boolean,number,string,null.基本类型的访问是按值访问的,就是说你可以操作保存在变量中的实际的值.基本类型有以下几个特点: 1.基本类型的值是不可变得: 1.任何方法都无法改变一个基本类型的值. var name = 'hello'; name.toUpperCase(); // 输出 'HELLO' console.log(name); // 输出