JavaScript

2020/7/3 javascriptes6

# 防抖和节流

防抖和节流都是为了解决一个函数被频繁、无限制被调用的时候,加重浏览器负担、造成浏览器卡顿现象的问题。

防抖:用户动作停止之后 + 一定时间 => 触发事件,延迟事件触发,如:mouseover、keyup事件等。

节流:每间隔一定事件触发事件,用户操作时,应停止事件,操作完成后,继续重置事件。如:轮播图片,当用户鼠标移动到图片上时,应停止轮播,移开后,继续开始轮播事件。

# Render 树

DOM 树 + CSSOM 树

"display: none" 的dom不在render树中,"visibility: hidden" 在render树中。

# 重排和重绘

重排:当dom节点发生变化或者元素尺寸改变时,会发生重排(回流)现象。

重绘:当元素样式(不需要改变元素的尺寸,如颜色、背景等),会发生重绘现象。

重排一定发生重绘,重绘不一定发生重排。