什么是内存泄漏?哪些操作会造成内存泄漏?

一省:HTML

5. 从输入URL到页面加载的全过程?

  1. 在浏览器地址栏输入url并回车
  2. 浏览器查看是否有缓存,比较缓存是否过期,无缓存或过期则重新发起请求
  3. DNS解析域名对应的IP
  4. 根据IP建立TCP链接,即三次握手
  5. 发送http请求
  6. 服务器响应并返回结果
  7. 关闭TCP链接,即四次挥手
  8. 渲染页面,构建DOM树

二省: CSS

5. 隐藏元素有哪些方式,有什么区别?

属性 display visibility opacity position
none hidden 0 absolute、fixed
区别 不渲染元素,不占位 渲染元素,占位 透明度为0,占位 设置超出屏幕的值,使其在屏幕之外

三省:JavaScript

5. 什么是内存泄漏?哪些操作会造成内存泄漏?

内存泄露:内存泄漏也称作"存储渗漏",用动态存储分配函数动态开辟的空间,在使
用完毕后未释放,结果导致一直占据该内存单元。直到程序结束。(其实说白了就是该内存空间
使用完毕之后未回收)即所谓内存泄漏。

引发内存泄漏的操作:

  1. 垃圾回收器定期扫描对象,并计算引用了每个对象的其他对象的数量。如果一个对象的引用数量为 0(没有其他对象引用过该对象),或对该对象的唯一引用是循环的,那么该对象的内存即可回收
  2. setTimeout 的第一个参数使用字符串而非函数的话,会引发内存泄漏
  3. 闭包、控制台日志、循环(在两个对象彼此引用且彼此保留时,就会产生一个循环)

你可能感兴趣的:(dairy,javascript,开发语言,ecmascript)