关于闭包的知识点

1.闭包的产生

在js里,当存在函数嵌套,并且在函数的内部引用了函数外部的数据的时候,闭包就产生了。

例如:

function fn(){
var a = 1
function fn1(){
console.log(a)
}
}

2.闭包的特性

闭包内的数据在函数执行完之后不会被垃圾回收器回收,因此可以延长部分数据的生命周期,同时使函数外部可以对函数内部的数据进行相关的操作。但是这一特性也会引起一些问题,比如当闭包无用之后但是没有及时回收,就会产生内存溢出和内存泄露。

3.内存溢出

当程序运行所需的内存超出了剩余可分配的内存时,就会产生内存溢出,是一种程序运行出现的错误。                                                                                                                                             

4.常见的内存泄露

1.意外的全局变量

2.没有及时清理的计时器和回调函数

3.闭包                                            

因此,闭包虽然好用,但是可以不用的时候尽量不要用,用了的话要及时清除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值