闭包的特点&&闭包面试题

闭包的特点(优点和缺点并行)

                1 延长了变量的生命周期

                    + 优点:因为执行空间不销毁,变量也就没有销毁

                    + 缺点:因为执行空间不销毁,会一直存在内存中

                2 可以访问函数内部的私有变量

                    + 优点:利用闭包函数可以访问函数内部的私有变量

                    + 缺点:执行空间不会销毁,会一直存在内存中 

                3 保护私有变量(只要是函数就有这个特点)

                    + 优点:保护私有变量不被外界访问

                    + 缺点:如果想访问,必须要利用闭包函数 

闭包函数的缺点"致命"

                + 因为当一段内存空间中有一个不会被销毁的东西一直存在

                + 那么就会出现内存占用,如果过多,就会导致内存溢出

                + 那么结果就是内存泄漏

闭包的作用

                + 就是当你需要延长变量的生命周期的时候

                + 或者你需要访问某一个函数内部的私有变量的时候

                + 你可以使用闭包函数来解决

                + 前提:

                    ==>如果有别的办法,尽量不使用闭包函数

                    ==>只有到没有招的时候,我们再使用闭包函数

                + 闭包:慎用

例子:内存泄漏

                + 比如说你有一个盆,能装2L水

                + 你向里面正常导入2L水,是没有问题的

                + 假如这个盆里面被"闭包"占据了0.5L的空间

                + 你向里面正常导入2L的水,那么就会有一部分漏出来了

例子:进程和线程

                + 进程 ==> 基于操作系统的概念

                    ==>能够独立分配一段内存空间来运行的

                + 线程 ==> 在进程内部开放出来的处理问题的通路    


                + 进程 ==> 一个公园里面有一个公共厕所,就是一个进程

                    ==>再修建一个公共厕所,就是两个进程

                + 线程 ==>一个公共厕所的坑位

                    ==>只有一个坑位的就叫单线程(js)

                + 异步

                    ==>大家都排队上厕所

                    ==>突破排到你了,但是你是一个异步的

                    ==>那么就把你拿出来排到队尾

                    ==>等到同步的人上完,再让你上

闭包例子解析

闭包面试题


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

友情链接更多精彩内容