Заметил, что у меня очень долго выполняется очистка памяти от ненужных объектов.
Оказалось, что присваивание null
, выполняя примерно ту же функцию очистки памяти что и delete
, работает быстрее, в зависимости от браузера:
- IE6 — примерно в десять раз,
- IE8 — примерно в четыре раза,
- Firefox 3 — примерно вдвое,
- Opera — примерно на 10-20%.
Разница между delete
и присваиванием null
в том, что, во-первых, после delete
значение становится undefined
, во-вторых, удаляется не только значение, но и ключ, таким образом, исчезая из циклов вида for in
, в отличие от присваивания null
.
Если вышеперечисленное не играет роли, то можно смело пользоваться присваиванием null
вместо delete
.