因此,我注意到在使用someElement.innerHTML
DOM节点时数量增加了。
我猜是引用被杀死了,但是内存仍然被分配,直到垃圾回收器删除了对象。
范例(HTML):
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="test.css">
<script src="script.js"></script>
</head>
<body onload="startTimer()">
<div id="timeContainer">Time Goes Here</div>
</body>
</html>
示例(JavaScript):
var timer;
var body;
var oldTime = "";
var timeContainer;
function startTimer(){
timeContainer = document.getElementById("timeContainer");
timer = setInterval(getTime, 10);
}
function getTime(){
var d = new Date();
var timeString = d.getUTCHours() +":"+ d.getUTCMinutes(); +":"+ d.getUTCSeconds();
if(timeString != oldTime){
oldTime = timeString;
timeContainer.innerHTML = timeString;
}
}
someElement.textContent
。我只是在刷新内容时如何避免一次增加节点数?为什么仍然需要一个额外的Node?
我猜是引用被杀死了,但是内存仍然被分配,直到垃圾回收器删除了对象。
正确。
我只是在刷新内容时如何避免增加节点数?
您不能,也不必担心。这是浏览器的领域,涉及垃圾回收时它想做的事情(不同的浏览器做的事情可能不同)。
每当刷新计时器时,我都会删除整个ParentElement并创建一个新的
仅仅因为您删除了它(使其无法访问),并不意味着它立即被垃圾收集了。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句