Ничего не мешает :)
Но я бы на это полагаться не стал — в том же IE циклические ссылки (элемент-эвент-замыкание на элемент) GC научился собирать только в 9 версии.
Вы это пробовали в FireBug/консоли или скриптом на нормальной странице?
Потому что в первом случае будет работать как вы ожидали (потому что выполняется через eval, а переменные объявленные в eval могут удаляться), а вот во втором — никакого удаления не произойдет (_xyz_ будет записано два раза).
Удалять нельзя не по каким-то там guidlines, а потому что в стандарте так написано — переменные помечаются аттрибутом {DontDelete}.
И еще обратите внимание на такой ньюанс:
var a = 10;
b = 20;
delete a;
delete b;
console.log(a); // 10
console.log(b); // ReferenceError: b is not defined
Так происходит потому, что b — не переменная, а свойство глобального объекта.
Но я бы на это полагаться не стал — в том же IE циклические ссылки (элемент-эвент-замыкание на элемент) GC научился собирать только в 9 версии.
Потому что в первом случае будет работать как вы ожидали (потому что выполняется через eval, а переменные объявленные в eval могут удаляться), а вот во втором — никакого удаления не произойдет (_xyz_ будет записано два раза).
Удалять нельзя не по каким-то там guidlines, а потому что в стандарте так написано — переменные помечаются аттрибутом {DontDelete}.
И еще обратите внимание на такой ньюанс:
Так происходит потому, что b — не переменная, а свойство глобального объекта.
Обычно делают xhr = null; в таких случаях.
Function Declaration (будет ошибка):
Function Expression (как в jQuery):
Function Expression (с оператором запятая):
P.S. На практике я бы использовать не стал :)
googlechromereleases.blogspot.com/2010/10/stable-channel-update.html
А вот различаются ли и чем именно 7я stable и 7я beta — большой вопрос.
Цена конечно не минимально возможная, особенно если телевизоров в доме несколько — но вполне доступная.
Вообщем, я считаю надо брать.