zoukankan      html  css  js  c++  java
  • 范仁义js课程---57、闭包缺点

    范仁义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>
     
  • 相关阅读:
    获取当前时区时间
    python lambda表达式详解
    Odoo 12开发之开发环境准备
    初步了解odoo12
    web前端面试题
    实现一个优先级队列
    面试题
    python读取和生成excel文件
    Django基础
    virtualenv
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/12446590.html
Copyright © 2011-2022 走看看