02.闭包的缺点及解决.html 836 B

123456789101112131415161718192021222324252627282930313233343536
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. </head>
  9. <body>
  10. <!--
  11. 1、缺点
  12. *函数执行完后,函数内的局部变量没有释放,占用内存时间会变长
  13. *容易造成内存泄漏
  14. 2、解决
  15. *能不用闭包就不用
  16. *及时释放
  17. -->
  18. <script>
  19. function fn1() {
  20. var arr = new Array[100000]
  21. function fn2() {
  22. console.log(arr.length)
  23. }
  24. return fn2
  25. }
  26. var f = fn1()
  27. f()
  28. f = null //让内部函数成为垃圾对象-->回收闭包
  29. </script>
  30. </body>
  31. </html>