闭包1

不打扰是莪最后的温柔 提交于 2019-12-01 22:14:39
<body>
  <!--
    1。如何产生闭包?
      *当一个嵌套的内部(子)函数引用嵌套的外部(父)函数的变量(函数)时,就产生了闭包
    2.闭包到底是什么?
      使用chrome调试查看
      理解一:闭包是嵌套的内部函数(绝大部分人)
      理解二:包含被引用变量(函数)的对象(极少数人)
      注意:闭包存在于嵌套的内部函数中
    3.产生闭包的条件?
      函数嵌套
      内部函数引用了外部函数的数据(变量/函数)



  -->


  <script>
  
    function fn1(){
      var a =2
      var b = '22'//闭包里面没有b    如果是var fn = function(){  //这样就不产生闭包      console.log(a)      }
      function fn2(){ //执行函数定义才能产生闭包,也就是一定要执行外部函数,执行了函数定义才会产生变量,不一定要执行内部函数(fn2)
        console.log(a) //闭包里面有a
       
      }
      fn2()
    }

    fn1()  
  
  </script>
</body>
执行函数定义才能产生闭包,也就是一定要执行外部函数,执行了函数定义才会产生变量,不一定要执行内部函数(fn2)
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!