内容字号:默认大号超大号

段落设置:段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体

闭包 是真的美

2018-04-09 15:08 出处:清屏网 人气: 评论(0

内存泄漏(Memory Leak)

JavaScript分配给Web浏览器的可用内存数量通常比分配给桌面应用程序的少,这样做主要是防止JavaScript的网页耗尽全部系统内存而导致系统崩溃。

因此,要想使页面具有更好的性能,就必须确保页面占用最少的内存资源,也就是说,我们应该保证执行代码只保存有用的数据,一旦数据不再有用,我们就应该让垃圾回收机制对其进行回收,释放内存。

我们现在都知道了闭包阻止了垃圾回收机制对变量进行回收,因此变量会永远存在内存中,即使当变量不再被使用时,这样会造成内存泄漏,会严重影响页面的性能。因此当变量对象不再适用时,我们要将其释放。

我们拿上面代码举例:

function foo() {
     let a = 2;
 
     function bar() {
         console.log( a );
     }
 
     return bar;
 }
 
 let baz = foo();
 
 baz(); //baz指向的对象会永远存在堆内存中
 
 baz = null; //如果baz不再使用,将其指向的对象释放
分享给小伙伴们:
本文标签: 闭包

相关文章

发表评论愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。

CopyRight © 2015-2016 QingPingShan.com , All Rights Reserved.

清屏网 版权所有 豫ICP备15026204号