Считайте эту цитату из документов Mozilla для утечек памяти JavaScript:
function addHandler() { var el = document.getElementById('el'); el.onclick = function() { this.style.backgroundColor = 'red'; } }
Приведенный выше код устанавливает элемент, чтобы он загорелся красным при его нажатии. Это также создает утечку памяти. Зачем? Поскольку ссылка на el непреднамеренно попал в закрытие, созданное для анонимного внутреннего функция. Это создает круговую ссылку между JavaScript объект (функция) и собственный объект (el).
Пожалуйста, объясните приведенные выше причины утечки простым и сжатым способом, я не получаю точную точку.
У сайта или страницы возникает проблема безопасности из-за утечки? Как мне их избежать? Какой еще код может вызвать утечку памяти? Как узнать, когда произошла утечка памяти?
Я - абсолютный новичок в теме утечек памяти. Может кто-то прояснить этот материал для меня шаг за шагом? Также может кто-то помочь мне прояснить этот оператор "Это создает круговую ссылку между объектом JavaScript (функция) и собственным объектом (el)".