如何手写一个闭包函数

function fa(){
    let a = 10;
    return function fb(){
        console.log(a)
    }
}
let fc = fa();
fc()

//fc=null

为什么需要一个闭包函数?

js中,全局变量会造成环境污染,而局部变量又无法长时间存储,闭包就应运而生。

闭包的好处:        1.防止命名冲突,造成变量污染

                        2.局部变量可以存储在内存中

缺陷:不销毁的话容易造成内存泄漏(原因:js的垃圾回收机制:被另一个作用域引用的变量不会被回收)

以下是b站的一个视频,更容易理解

【简单认识】什么是闭包,理解闭包是什么,弄懂闭包,程序开发知识,编程知识点。_哔哩哔哩_bilibili【简单认识】什么是闭包,理解闭包是什么,弄懂闭包,程序开发知识,编程知识点。, 视频播放量 27217、弹幕量 31、点赞数 750、投硬币枚数 306、收藏人数 1015、转发人数 75, 视频作者 公子请留步---, 作者简介 ,相关视频:JavaScript闭包 - Web前端工程师面试题讲解,【简单认识】什么是回调函数,理解回调函数,弄懂回调函数,程序开发知识,编程知识点。,【简单认识】什么是同步和异步,理解同步和异步,弄懂同步异步,程序开发知识,编程知识点。,侯捷谈堆、栈与内存管理(上),【简单认识】什么是匿名函数,理解匿名函数,匿名函数跟一般函数的区别,程序开发知识,编程知识点。,『教程』回调函数是个啥?,JavaScript闭包怎么理解呢,1、编程思想介绍(重要),一期学会做小程序 - vue+uni-app+uniCloud 前端后端全栈一体开发以及留言板小案例演示,【简单认识】foreach和map,foreach怎么用,map怎么用,foreach和map的区别,程序开发知识,编程知识点。https://www.bilibili.com/video/BV1sd4y1S7Ed?spm_id_from=333.337.search-card.all.click&vd_source=c8d798f892a6ad91d13f05ad0396930d

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值