Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   утечки памяти в js (https://javascript.ru/forum/misc/65440-utechki-pamyati-v-js.html)

6at9l 19.10.2016 11:24

утечки памяти в js
 
<div id="id1">
  <p id="id_p"> content </p>
</div>

document.getElementById("id_p").addEventListener("click", function(e)
{
  // обработчик что то делает
});

// какой то код 
// ....
document.getElementById("id1").innerHTML = "";


Вопрос, что произойдет с обработчиком который был установлен на тег <p> ?
будут ли он занимать память либо удалится вместе с элементом ?

warren buffet 19.10.2016 12:47

Ничего не надо. Нет объекта - нет и листенера. Ну то есть гарбач-коллектор сам все выпилит, даже не парься, инфа 100%.

6at9l 19.10.2016 13:10

Спасибо.

moron 19.10.2016 23:48

но стоит упомянуть про jq, которым пользуются многие.
Если обработчик повешен с помощью jq и элемент удален не jq методами, то обработчик так и останется висеть в памяти.

warren buffet 20.10.2016 05:57

Ну да, jq-объект-то остается. Вот почему jq - зло )

join 20.10.2016 07:00

https://learn.javascript.ru/memory-l...-утечек


Часовой пояс GMT +3, время: 09:09.