闭包

概念

1.一个函数可以把它自己内部的语句(函数),和自己声明时所处的作用域,变量一起记录,封装成了一个密闭环境.我们称为“闭包” (Closures)。

运用

return 返回.

    var a = 333;
    function inner(){
        console.log(a);
}
    return inner;   //outer返回了inner的引用
}
var inn = outer();  //inn就是inner函数了
inn();
性质

1.函数能够持久保存自己定义时的所处环境,并且即使自己在其他的环境被调用的时候,依然可以访问自己定义时所处环境的值

2.var inn = outer();每次重新引用函数,定义闭包的时候,闭包是全新的。

特性

1.函数嵌套函数
2.函数内部可以引用外部的参数和变量
3.参数和变量不会被垃圾回收机制回收

好处

1.希望一个变量长期驻扎在内存中
2.避免全局变量的污染
3.私有成员的存在

语法

(function(){})()

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 相信很多前端小伙伴在工作和学习中,都会或多或少的接触和了解到匿名函数和闭包。被这俩知识点所困扰,也去网上搜索...
    就那ck阅读 9,069评论 7 21
  • ● 闭包基础 ● 闭包作用 ● 闭包经典例子 ● 闭包应用 ● 闭包缺点 ● 参考资料 1、闭包基础 作用域和作...
    lzyuan阅读 959评论 0 0
  • 目录 1.执行环境与作用域链 2. 立即执行函数 3. 闭包知识点 3.1 什么是闭包 3.2 使用闭包的意义与注...
    犯迷糊的小羊阅读 646评论 0 11
  • 闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。 一、变量...
    zock阅读 1,084评论 2 6
  • 以下翻译自Apple官方文档,结合自己的理解记录下来。翻译基于 swift 3.0.1 原文地址 Closure...
    艺术农阅读 1,596评论 0 3