JS什么是闭包

闭包是一种编程概念,允许函数访问并可能修改外部函数的变量,即使在其外部函数执行后。它扩展了变量的作用域,但可能导致内存泄漏,因为这些变量会长时间被引用。为防止内存问题,建议在不再需要时手动将变量设为null。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一:定义

      一个作用域可以访问另一个函数内部的局部定量,或者说一个函数(子函数)访问另一个函数(父函数)中的变量,那么这个变量所在的函数我们称之为闭包函数.

二:闭包有以下几个特点:

  1. 闭包可以访问外部函数的变量和参数,即使外部函数已经执行完毕。
  2. 闭包在创建时会保存其词法作用域(包括外部变量和函数),使其能够长期存在。
  3. 闭包可以修改外部函数的变量。

闭包的主要作用

        延伸ke变量的作用范围,闭包函数中的变量会等所有函数都调用完了之后他才会销毁闭包,可能会造成内存泄漏.

        如何解决:用完之后手动释放,在函数外层底部手动设置该变量值为null,避免循环引用该变量

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值