• 变量销毁不了,一定就是内存泄漏吗? 不一定,只有在非预期的场景下,变量没有被垃圾回收,才算内存泄漏。闭包虽然内存没有被回收,但是符合我们的预期表现。【注意】这一说法没有定论,有些面试官可能会说“不可被垃圾回收就是内存泄漏”,不可较真。
  • 如何检测内存泄漏
  • 内存泄漏的场景
    • 被全局变量、函数引用,组件销毁时未被清除
      window.arr = this.arr
      window.print = ()={}
    • 被全局事件、定时器引用,组件销毁时未被清除
      this.intervalId = setInterval(()=>{
      	console.loh(this.arr)
      },100)
    • 被自定义事件引用,组件销毁时未清除
      const printArr = () => {
      	console.log(this.arr)
      }
       
      window.addEventLisner('resize', printArr)
       
      window.removeEventLisner('resize', printArr)