用闭包写一个Tab选项卡,为什么要用闭包以及闭包造成内存泄露

直接上代码吧!




Title





  • 我是标题一

  • 我是标题二

  • 我是标题三

  • 我是标题四

  • 我是标题五



1

2

3

4

5





为什么要使用闭包?
在javascript语言中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成“定义在一个函数内部的函数”。所以本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。

闭包可以读取函数内部的变量,可以让变量的值始终保持在内存中。

因此会造成内存泄露:内存泄露不是内存真正的泄露了,而是在使用闭包的过程中,闭包中的元素得不到释放,元素占内存越来越多,剩余越来越少,感觉像内存泄露了一样。

怎么解决这个问题:
释放元素,当在应用完这个元素过后,把值设置为 null
打破循环引用
添加另一个闭包
避免闭包自身

你可能感兴趣的:(用闭包写一个Tab选项卡,为什么要用闭包以及闭包造成内存泄露)