Удаляем обьекты в java script при помощи delete
// создадим переменную
var hello=100;
// проверим доступ к переменной, должно быть всё нормуль.
alert (hello);
// удаляем переменную
delete hello;
// эта строка выдаст ошибку, потому что переменную hello мы удалили
alert (hello);
Практично обьединить весь код страницы в один обьект к примеру page, чтобы удалить его разом.
Можно обойтись и без удаления, просто перезаписать старый обьект page, обьектом page из новой страницы.
также есть такая клёвая штука как конструкторы и деструкторы, пусть к примеру у каждой страницы будет конструктор и деструктор. Конструктор будет запускать плагины, подгружать данные, инициализировать переменный, вешать обработчики событий. А деструктор наоборот вырубать плагины, отвязывать обработчики событий, удалять глобальные обьекты (глобальные обьекты это зло !!!!!!), и тд. Открывается страница запускается конструктор, покидаешь запускается деструктор.
Естественно обьеденять и удалять всё надо самому, некакой волшебный метод за тебя эту работу делать не будет. Уборщик мусора не в счёт, он удаляет обьекты на который никто не ссылается.
Если обьект пользователю нафиг не нужен, но он к примеру в глобальной области видимости, то уборщик его никогда не тронет.