Что происходит после удаления внешнего файла js - PullRequest
2 голосов
/ 16 марта 2011
<!-- Add-in device.js files are placed here -->
    <div id="deviceScript"></div>

То, что я делал, это очищал это, когда я выбираю новое (надстройку) устройства и добавляю тег script к его файлу .src.

У меня есть смутное представление о том, что отсоединение внешнего js-файла может удалить его код из памяти. Если нет, то есть ли способ сделать это?

Функции в разных файлах скриптов имеют одинаковые имена - например, я использую start () для настройки каждого устройства. Похоже, что последнее устройство start () перезаписывает устройство в памяти, но я не уверен, что перезапись означает удаление последнего или происходит какое-то ужасное накопление шлака.

Любые разъяснения приветствуются.

Ответы [ 2 ]

0 голосов
/ 16 марта 2011

Вот то, что я думаю, может быть ответом, но, возможно, это действительно другой вопрос - это логично?

Контекст: посетитель выбирает именованный объект для отображения набора клавиш (скажем, один - Цвет). Выбор клавиши отображает одно или несколько имен устройств (скажем, setColor). Выбор имени устройства отображает набор параметров (скажем, красный, зеленый, синий).

На втором шаге я заменяю предыдущий device.js на новый device.js. У js есть время для загрузки, прежде чем выбор опции вызывает функцию внутри нее для выполнения действия.

Так что, если какое-либо из имен функций дублирует предыдущее, они перезаписывают их из-за действия подкачки. Это означает, что мне не нужно беспокоиться о соглашениях об именах, кроме того, что имя основной функции совпадает с именем устройства ... устройства могут быть созданы кем угодно Возможно, было бы неплохо перезагружать время от времени.

Есть мысли? Спасибо

0 голосов
/ 16 марта 2011

Если вы удалите файл javascript и веб-страница уже загружена, код все еще находится в памяти (по крайней мере, браузер может получить к нему доступ), поэтому вы все равно можете его «использовать». Если вы перезагрузите / обновите страницу, код будет недоступен и, следовательно, вы не сможете его использовать. Я думаю, что нет способа удалить этот код из памяти (или из того места, где он доступен для браузера).

Не рекомендуется писать одно и то же имя функции в нескольких файлах js, если вы хотите использовать их все на определенной странице. Будет использоваться функция, определенная в последнем указанном js, поэтому, если вы вызовете эту функцию дважды (start () в вашем случае), ваша функция () сделает то же самое.

В случае написания одного и того же имени для двух функций на одном и том же js, оно работает аналогично. В то время как в других языках вы можете использовать myfunc (oneparm) и myfunc (parmone, parmtwo) как две отдельные функции, одна из которых запускается в зависимости от количества передаваемых параметров, в JavaScript последняя определенная всегда будет выполняться независимо от количество параметров.

Имейте в виду, что javascript - это язык сценариев на стороне клиента

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...