如果我看到:
我是否应将此解释为蓝线当前已分配内存,灰线是否已分配和释放?我正在努力理解如何阅读这些,以便我能理解我是否正在编写漏洞的Javascript代码。我来自C / C ++背景,并试图了解Javascript的垃圾收集应如何处理我的代码。
供参考,这是我加载的内容:
的test.html:
<html>
<head>
<script type="text/javascript" src="autoreload.js"></script>
</head>
</html>
autoreload.js:
function checkAndReload()
{
var http = new XMLHttpRequest();
http.open('HEAD', window.location.href);
http.onreadystatechange = function(){
if (http.readyState !== XMLHttpRequest.DONE) {
return;
}
if (http.status !== 200) {
return;
}
// compare current last modified with last modified from server
var this_last_modified = Date.parse(document.lastModified);
var checked_last_modified = Date.parse(http.getResponseHeader("Last-Modified"));
var diff = checked_last_modified - this_last_modified;
if(diff > 0) location.reload(true);
};
http.send();
}
// run checkAndReload() once per second
window.setInterval(checkAndReload, 1000);
我正在尝试实现一个脚本,在<script ...></script>
行存在的情况下自动重载页面。谢谢你的帮助。
答案 0 :(得分:1)
在这里看起来很好解释:https://www.youtube.com/watch?v=KKwmdTByxLk
灰色条表示将来某个时候垃圾收集器将收集内存,蓝色条表示内存被主动引用,不会被垃圾回收。