Javascript中的闭包

一、闭包在开发中的应用

1、可以读取函数内部的私有变量,避免变量污染(可用来做插件)。

编写插件

var plugin = (function(){

  var _sayhi = function(str = '你好啊!'){

        console.log(str);

    }

  return {

        SayHi : _sayhi

    }

})();    //这里用了自执行函数

//使用插件

plugin('hello'); 

plugin();

2、让这些变量的值始终保持在内存中。

二、闭包的含义

  function f1(){

    var n=999;

              function f2(){

                   alert(n); 

               }

      return f2;

          }

  var result=f1();

  result();    // 999

f2函数就是闭包

各种专业文献上的"闭包"(closure)定义非常抽象;

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

由于在Javascript语言中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成"定义在一个函数内部的函数"。

所以,在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁

三、闭包的使用方式

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 在学习Javascript脚本语言的路上,闭包一直困惑着每一个刚接触这门语言的程序猿。 ——存在的即是合理的。首...
    麻不烧阅读 257评论 0 5
  • 一、前言 对于 JavaScript 来说,闭包是一个非常强大的特征。但对于刚开始接触的初学者来说它又似乎是特别高...
    东野文然阅读 1,002评论 8 18
  • 闭包没有想象的那么简单 闭包的概念在JavaScript中占据了十分重要的地位,有不少开发者分不清匿名函数和闭包的...
    老马的春天阅读 778评论 2 8
  • 1.什么是闭包 要理解什么是闭包,就得先理解变量的作用域。在JavaScript中,有两种作用域,全局作用域和函数...
    江湖竖子阅读 298评论 0 0
  • 闭包是指有权访问另一个函数作用域中的变量的函数,个人认为闭包最大的用处就是防止对全局作用域的污染。 试想如果我们把...
    dxxwdong阅读 140评论 0 1

友情链接更多精彩内容