• js 常见知识点


    function box() {
    
        var user = 'TT';
    
        return function () {     //通过匿名函数返回 box()局部变量
    
            return user;
    
        };
    
    }
    
    box() 返回的是一个匿名函数 
    
    var b = box();  


    -----------------------------------------

     
     (function (){
         var a = 10;
      add.onclick = function (){
        a++;
        span.innerHTML = a;
      }
        })()


     

     


     

    闭包是可访问一个函数作用域里变量的函数

    javascript中: (function(){})()是匿名函数,主要利用函数内的变量作用域,避免产生全局变量,影响整体页面环境,增加代码的兼容性。

    (function(){})是一个标准的函数定义,但是没有复制给任何变量。所以是没有名字的函数,叫匿名函数。没有名字就无法像普通函数那样随时随地调用了,所以在他定义完成后就马上调用他,后面的括号()是运行这个函数的意思

    函数声明可在当前作用域下提前调用执行,函数表达式需等执行到该函数后,方可执行,不可提前调用。

    user 是box函数的私有属性 外部无法访问到,通过闭包可以访问到

    闭包的最大特性就是,如果里函数引用(or访问,这俩词在这个语境下是等价的)了外函数的某个变量,那这个变量就能享受和全局变量一样的特权,丫不会被回收

     

    函数里return 一个匿名函数return外层函数的变量,当外部调用的时候,外层函数的变量不会被销毁

    闭包就是能够读取其他函数内部变量的函数。

    即函数定义和函数表达式位于另一个函数的函数体内。而且,这些内部函数可以访问它们所在的外部函数中声明的所有局部变量、参数和声明的其他内部函数。当其中一个这样的内部函数在包含它们的外部函数之外被调用时,就会形成闭包。也就是说,内部函数会在外部函数返回后被执行。而当这个内部函数执行时,它仍然必需访问其外部函数的局部变量、参数以及其他内部函数。这些局部变量、参数和函数声明(最初时)的值是外部函数返回时的值,但也会受到内部函数的影响。-----个人理解就是:闭包是能够读取其他函数内部变量的函数,即在外面可以调用函数中的函数的变量,其实他就是将函数内外部连接起来的桥梁
    ————————————————
    版权声明:本文为CSDN博主「小亚美美」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/yummy_go/article/details/50663081

  • 相关阅读:
    学习进度笔记13
    学习进度笔记12
    学习进度笔记11
    学习进度笔记10
    学习进度笔记9
    《架构之美》读书笔记1
    学习进度笔记8
    电话拨号盘(带触摸振动反馈)
    堆排序(小根堆)
    图论起步(长期更新)
  • 原文地址:https://www.cnblogs.com/geekjsp/p/12364913.html
Copyright © 2020-2023  润新知