• 技术文章 >Web开发 >JavaScript

    JavaScript闭包的注意事项

    小妮浅浅小妮浅浅2021-08-25 09:30:55原创3490

    1、创建了一个闭包以后,函数的作用域就会一直保存到闭包不存在为止。

    function makeAdder(x) {
      return function(y) {
        return x + y;
      };
    }
     
    var add5 = makeAdder(5);
    var add10 = makeAdder(10);
     
    console.log(add5(2));  // 7
    console.log(add10(2)); // 12
     
    // 释放对闭包的引用
    add5 = null;
    add10 = null;

    2、闭包只能取得包含函数中任何变量的最后一个值,因为闭包所保存的是整个变量对象,而不是某个特殊的变量。

    function test(){
      var arr = [];
      for(var i = 0;i < 10;i++){
        arr[i] = function(){
          return i;
        };
      }
      for(var a = 0;a < 10;a++){
        console.log(arr[a]());
      }
    }
    test(); // 连续打印 10 个 10

    以上就是JavaScript闭包的注意事项,希望对大家有所帮助。更多Javascript学习指路:Javascript

    推荐操作环境:windows7系统、jquery3.2.1版本,DELL G3电脑。

    专题推荐:javascript闭包
    品易云
    上一篇:JavaScript闭包如何创建 下一篇:JavaScript匿名函数的用途

    相关文章推荐

    • javascript事件捕获是什么意思• javascript中memoize函数的使用• javascript工厂模式是什么• javascript适配器模式的理解• javascript装饰者模式是什么• javascript字符串的语法介绍• javascript中null和undefined的区别• javascript如何动态加载js文件• javascript全局变量的使用注意• javascript访问不同对象的速度比较• javascript事件委托是什么• javascript迭代器是什么• JavaScript闭包如何创建

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网