考虑一下来自Mozilla Docs 关于 JavaScript 内存泄漏的引用:
function addHandler() { var el = document.getElementById('el'); el.onclick = function() { this.style.backgroundColor = 'red'; } }
上面的代码将元素设置为在单击时变为红色。它还会造成内存泄漏。为什么?因为对 el 的引用无意中被为匿名内部函数创建的闭包中捕获。这会在 JavaScript 对象(函数)和本机对象 (el) 之间创建循环引用。
请用简单明了的方式解释上述泄漏的原因,我没有得到确切的意思。
网站/页面是否因泄漏而面临安全问题?我该如何避免它们?还有哪些其他代码会导致内存泄漏?如何判断何时发生内存泄漏?
我是内存泄漏主题的绝对初学者。有人可以一步一步地为我澄清这些东西吗?还有人可以帮我澄清这个陈述“这会在 JavaScript 对象(函数)和本机对象(el)之间创建循环引用。”