Удаляет ли элемент скрипта его функции из памяти? - PullRequest
7 голосов
/ 31 января 2012
var scripts  = document.getElementsByTagName("script");
for (var i=scripts.length; i--; ){
   (scripts[i]).parentNode.removeChild(scripts[i]);
}

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

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

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

1 Ответ

8 голосов
/ 31 января 2012

Краткий ответ, №

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

...