什么是闭包,闭包有什么用?

闭包大家项目中很多地方都会用到,可以说是已经无意识影响性能了。

什么是闭包?

函数嵌套函数,内部函数可以访问外部函数的变量,内部的变量不会被垃圾回收机制所回收,利用闭包可以突破函数的局部作用域,向外部传递函数内部的方法和变量。想不到俺也能说出来这么专业的话了。

闭包有什么用?

1.可以通过内部函数访问外部函数的变量
2.让局部变量始终保存在内存里,避免被全局变量污染,也避免被垃圾回收机制所回收
看一个小栗子:

function 外部函数(){
	name = 1;
	function 内部函数(){
		console.log(this.name)
	}
	内部函数()
}
外部函数()  // 1

// 接下来把内部函数可访问的那么注释了,再刷新页面,发现还是1
function 外部函数(){
	 // name = 1;
	function 内部函数(){
		console.log(this.name)
	}
	内部函数()
}
外部函数()  // 1

这就是闭包的影响,如果大量使用的话,就会造成内存泄露,严重则浏览器崩溃,甚者电脑原地爆炸。

所以我们需要在不需要它的时候,把这个内存给释放掉。

function 外部函数(){
	name = 1;
	function 内部函数(){
		console.log(this.name)
	}
	内部函数()
	内部函数=null
}
外部函数()

这个垃圾代码只是肯定是没有实用性的,只是看一下,算了,俺都没看懂。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值