闭包原理、作用以及如何防止变量污染

前言

很多人都听说过闭包,甚至都接触过它,但让你准确地说出闭包是什么或者原理是什么,就突然间错愕了

闭包是指有权访问另一个函数作用域中变量的函数

主要作用

延伸了变量的作用范围;函数封装私有变量

经典例子
  • 循环点击事件、立即执行函数——小闭包

      var lis=document.querySelector("ul").querySelectorAll("li")
      for(var i=0;i

    由于是代表闭包的例子,事实上如果用let定义i,则不需要进行闭包,这里闭包的作用就相当于延伸了i的作用范围

    for(let i=0;i
  • 函数的私有变量以及防止变量污染

      var Person=(function(){
      var name="JJ"
      function getName(){
          return name;
      }
        return getName;
      })()
      console.log(Person());
    

你可能感兴趣的:(闭包原理、作用以及如何防止变量污染)