js闭包的理解

发布时间:2020-07-18 18:19:37 作者:两天三顿
来源:网络 阅读:433

1.为什么用闭包?    

js变量的作用域:全局变量和局部变量 

    函数内部是可以直接读取全局变量的,而函数外部却无法读取函数内部的局部变量,所以闭包的出现实际就是为了能在函数外部获取函数内部的局部变量。


2.什么是闭包?  

    function f1(){

        var n=1;

        function f2(){

          alert(n); 

        }

        return f2;

      }

    var result=f1();

    result();

函数外部访问不到内部变量?我们在函数f1内部声明函数f2,n相当于f2的全局变量,所以f2是可以访问f1的局部变量,所以,我们将f2作为返回值return出来,就可以在外部访问f1中的局部变量。


3.闭包的作用?

    (1)可以读取函数内部的变量

    (2)让这些变量的值永远保存在内存中。(实例中result其实是指向f2的,所以f2始终会在内存中,而f2又是依赖于f1而存在的,所以f1也会一直处在内存中不会被垃圾回收)

推荐阅读:
  1. JS闭包
  2. js闭包有什么用

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

js j

上一篇:正则表达式语法&集锦

下一篇:ASP.NET MVC路由(二)

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》