前端性能优化(总结)---有关的面试题
一.如何进行首屏优化二.JS内存管理1》JS如何管理内存的?2》什么情况会造成内存泄漏?
一.如何进行首屏优化
1》首先对于首屏,我认为用户体验有三个阶段: ①就是页面第一个东西加载出来:用户会感觉到自己已经成功访问到这个网址了 ②页面第一个含有有用信息的东西加载出来:用户会觉得能在这个网站上获取到有用的信息 ③页面可以进行交互:用户进行交互体验
2》然后对前面所学的性能优化进行一下总结即可
二.JS内存管理
1》JS如何管理内存的?
变量创建时自动分配内存,不使用时”自动“释放内存(GC) 说一下垃圾回收机制(引用计数,标记清楚)
全局变量 直到浏览器卸载页面时释放 局部变量 函数执行完,没有闭包引用,就会被标记回收
2》什么情况会造成内存泄漏?
避免意外的全局变量的产生(非严格模式) 称为全局变量后 就不会在函数执行完被回收掉了
避免反复运行形成大量的闭包
避免脱离的DOM元素 举个例子: 在上述代码中 detacheDiv 调用了createElement的函数 创建了一个div的dom节点,然后赋给了body,然后调用了deleteElement函数,打算删除body的div 节点,但其实并不会被回收,因为detacheDiv一直对新建的div dom节点进行引用