for (let key in obj)
document.createElement(Type)
假设循环永远运行。创建元素,用户的内存会被堵塞吗?
例如,即浏览器资源?当创建相同的元素时...
let tt;
for (let key in obj)
tt = document.createElement(Type)
所以,假设我们每次都覆盖该变量。同时,我们也创建相同的元素......
for (let key in obj)
document.createElement(Type)
假设循环永远运行。创建元素,用户的内存会被堵塞吗?
例如,即浏览器资源?当创建相同的元素时...
let tt;
for (let key in obj)
tt = document.createElement(Type)
所以,假设我们每次都覆盖该变量。同时,我们也创建相同的元素......
简而言之,是的,但请注意,如果没有对该对象的引用(您覆盖它),它将被销毁 - 一段时间后内存将被释放
сборщиком мусора。由于新对象不是在同一内存位置创建的,因此在释放旧内存之前它将无法重用旧内存。因此,最好不要使用此类代码进行无限循环,特别是因为使用createElement内存分配是隐藏的(而不是new您确切知道内存分配的目的)通常,如果您需要这样的解决方案,那么最终的算法考虑不周,请尝试不同的方法。
Dev-tools允许程序员控制许多不同的方面,包括当带有每个新操作的选项卡或单独开始消耗越来越多的内存时识别内存泄漏。要检查内存消耗情况,请使用以下步骤:
dev-toolsПамять或Memory由于计算内存消耗统计数据对于浏览器来说是一个劳动密集型过程,因此我们使用
снимки或 ,snapshots其中所有统计数据都在特定时间点显示,Firefox在不同时间段后拍摄几张照片(照片相机按钮),然后您就可以得到如果正在使用 ,则有机会使用按钮Compare snapshots( 中的相交圆圈)来比较它们。FirefoxFirefox图片
Chromium如下: