首页 > 编程语言 > 详细

JavaScript 闭包

时间:2021-08-22 21:38:12      阅读:17      评论:0      收藏:0      [点我收藏+]
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        let a = 2;
        function biBao() {
            console.log(a)
        }

        function test() {
            let a = 1;
            return function () {
                console.log(a)
            }
        }
      
        biBao();
        test()();
    </script>
</body>

</html>

1、解释

函数执行时,会形成一个私有上下文(词法作用域),执行完之后,上下文中使用的对象,如果不在该上下文中定义,那么当前上下文就不能被释放,导致闭包

2、作用

   防止全局变量污染

  访问函数内部变量

3、实例

避免变量污染

      let n = 2;
        function test() {
            let n = 3;
            return function () {
                n++;
                console.log(n)
            }
        }
        let biBaoFunc = test();
        biBaoFunc();
        biBaoFunc();
        biBaoFunc();

 

4、缺点

  占内存

 可能会内存泄漏

JavaScript 闭包

原文:https://www.cnblogs.com/xiaoqiyaozou/p/15172845.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!