Open hujiejeff opened 4 years ago
浏览器渲染过程因不同内核可能会有差异,现以webkit为例描述浏览器渲染原理,浏览器渲染过程主要分为三个阶段,先详述如下: 第一阶段:
重绘:节点属性发生变化、内容需要变更、比如颜色,就是重新绘制。 重排:节点的尺寸相关信息发生变化、影响到盒子大小、所以要重排,也就是重新布局。
重排属性:height、line-height、font-size、border 重绘属性:height、line-height、font-size 、border、background-color、visibility
最小化重排和重绘
使用documentFragment进行dom操作
const list = document.querySelector('#list');
const fruits = ['Apple', 'Orange', 'Banana', 'Melon'];
const fragment = document.createDocumentFragment();
fruits.forEach(fruit => {
const li = document.createElement('li');
li.innerHTML = fruit;
fragment.appendChild(li);
});
list.appendChild(fragment);
简述XMLHttpRequest和JSONP应用场景、以及二者的错误检测?