Удаляет ли удаление элемента скрипта его функции из памяти?

var scripts  = document.getElementsByTagName("script");
for (var i=scripts.length; i--; ){
   (scripts[i]).parentNode.removeChild(scripts[i]);
}

Кто-то задал мне этот вопрос, и моя первая мысль была: нет. Однако, когда вы удаляете элементы style, страница автоматически обновляется, удаляя стили. Это может быть из-за того, как браузер перехватывает css — кажется, я помню, что CSS обновляется при каждом событии (движение мыши, клики, тип и т. д.).

Я просто хотел подтвердить, что избавление от тега script не избавит от уже созданной функции, так как я не нахожусь за компьютером, на котором я могу протестировать.

Это также натолкнуло меня на мысль о том, как защитить код от пользователей Firebug[подобных]


person vol7ron    schedule 31.01.2012    source источник


Ответы (1)


Краткий ответ, нет.

Любой сценарий, который однажды был оценен движком, останется в памяти до конца вашего сеанса. Даже удаление всего узла сценария, в котором содержался код, не меняет этого факта.

person jAndy    schedule 31.01.2012