• js高级-闭包


                  js高级-闭包

      闭包到底是什么,在理解这个问题之前,我们先来了解一下,闭包是如何产生的,了解完闭包的产生才能对闭包有一个更好的理解

        闭包的产生条件有三个:

          1. 函数嵌套

          2. 内嵌套函数调用了其外层嵌套函数的数据(变量/方法)

          3. 执行外层嵌套函数

        闭包是由外层嵌套函数执行,当其内部嵌套函数引用了外层嵌套函数的数据,闭包就产生了

      

    // 1.编写一个嵌套函数
        function fun1() {
          var a =10;
          function fun2(){
            console.log(a);// 2.内部嵌套函数引用了外层嵌套函数的数据
          }
        }
        //3.执行外层函数==>产生闭包  注意:闭包是存在于内嵌套函数中
        fun1();
        //4.函数执行完毕,包含闭包的函数对象成为垃圾对象.闭包消失(死亡)

      闭包的生命周期: 编写一个嵌套函数==>内嵌套函数引用了外嵌套函数的数据==>执行外层函数==>函数提升,执行函数定义==> 产生闭包==>外层函数执行完毕==>包含闭包的函数对象成为垃圾对象==>闭包死亡(消失)

       闭包导航是什么?    在我的理解里,闭包是一个对象,一个用于存储被内嵌套函数引用数据的对象,当然这只是我的观点.很大一部分人认为,闭包是嵌套的内部函数

                  21:02:54

  • 相关阅读:
    Mysql数据库再度使用
    搭建wamp php环境
    phpMyAdmin
    windows激活全系列
    web常见之音乐播放器
    web常见效果之轮播图
    ASP.NET Web Pages
    Eclipse配置中文(汉化)
    以有涯随无涯
    How to get the edited text from itext in fabricjs
  • 原文地址:https://www.cnblogs.com/buwenxin/p/13179121.html
Copyright © 2020-2023  润新知