答案晚点再搞,刚面完
vue3的生命周期和vue2有什么区别?
hooks的本质是什么
js的事件循环,什么是宏任务,什么是微任务
已会
浏览器是如何渲染页面的?
重绘和重排的区别,以及如何避免?
事件循环 event loop是什么?
浏览器的垃圾回收机制
浏览器具有自动的垃圾回收机制。其原理是:垃圾收集器会周期性找出那些不在继续使用的变量, 然后释放其内存。
垃圾回收机制有两种实现方式:
- 标记清除
- 引用计数
标记清除
当变量进入环境时,例如,在函数中声明一个变量,就将这个变量标记为“进入环境”。从逻辑上讲,永远不能释放进入环境的变量所占用的内存,因为只要执行流进入相应的环境,就可能会用到它们。而当变量离开环境时,则将其标记为“离开环境”。
function test(){
var a = 10 ; //被标记 ,进入环境
var b = 20 ; //被标记 ,进入环境
}
test(); //执行完毕 之后 a、b又被标离开环境,被回收。
复制代码
垃圾回收器在运行的时候会给存储在内存中的所有变量都加上标记(当然,可以使用任何标记方式)。然后,它会去掉环境中的变量以及被环境中的变量引用的变量的标记(闭包)