面试2

955 阅读1分钟

答案晚点再搞,刚面完

vue3的生命周期和vue2有什么区别?

hooks的本质是什么

js的事件循环,什么是宏任务,什么是微任务

已会

浏览器是如何渲染页面的?

重绘和重排的区别,以及如何避免?

事件循环 event loop是什么?

浏览器的垃圾回收机制

浏览器具有自动的垃圾回收机制。其原理是:垃圾收集器会周期性找出那些不在继续使用的变量, 然后释放其内存。

垃圾回收机制有两种实现方式:

  • 标记清除
  • 引用计数

标记清除

当变量进入环境时,例如,在函数中声明一个变量,就将这个变量标记为“进入环境”。从逻辑上讲,永远不能释放进入环境的变量所占用的内存,因为只要执行流进入相应的环境,就可能会用到它们。而当变量离开环境时,则将其标记为“离开环境”。

    function test(){
    var a = 10 ;             //被标记 ,进入环境 
    var b = 20 ;             //被标记 ,进入环境
    }
    test();                     //执行完毕 之后 a、b又被标离开环境,被回收。
    复制代码

垃圾回收器在运行的时候会给存储在内存中的所有变量都加上标记(当然,可以使用任何标记方式)。然后,它会去掉环境中的变量以及被环境中的变量引用的变量的标记(闭包)

react 事件绑定的原理