范仁义js课程---57、闭包缺点
一、总结
一句话总结:
闭包的内部变量常驻内存,就会造成内存泄漏的问题,可以将外部调用闭包的变量赋值为null,这样可以解决闭包内部变量常驻内存的问题
function fn1() { var a=10; function fn2(){ console.log(++a); } return fn2; } var fn3=fn1(); console.log(fn3); fn3(); fn3=null;
1、如何解决闭包造成的内存泄漏的问题?
将外部调用闭包的变量赋值为null
function fn1() { var a=10; function fn2(){ console.log(++a); } return fn2; } var fn3=fn1(); console.log(fn3); fn3(); fn3=null;
二、闭包缺点
博客对应课程的视频位置:57、闭包缺点
https://www.fanrenyi.com/video/19/158
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>闭包缺点</title> 6 </head> 7 <body> 8 <!-- 9 闭包缺点 10 造成内存泄漏的问题 11 12 如何解决 13 将外部调用闭包的变量赋值为null 14 15 --> 16 <script> 17 function fn1() { 18 var a=10; 19 function fn2(){ 20 console.log(++a); 21 } 22 return fn2; 23 } 24 var fn3=fn1(); 25 console.log(fn3); 26 fn3(); 27 28 fn3=null; 29 30 </script> 31 </body> 32 </html>