Показать сообщение отдельно
  #5 (permalink)  
Старый 01.05.2010, 16:58
Кандидат Javascript-наук
Отправить личное сообщение для bayah Посмотреть профиль Найти все сообщения от bayah
 
Регистрация: 22.04.2010
Сообщений: 111

Kfuse,
А, ну да, точно...
Опять лажаю)
А с 0 - это просто для примера.

Раз уж о массивах заговорил то еще у меня такой вопрос:
Создаю два массива
var a = new Array()
var b = new Array()

В коде они используются так:
- Сначала формируется массив a.
- Начинается цикл
- По массиву а создается массив b.
- В конце цикла делаю так:

a = b
b = new Array()

- Далее к следующей итерации цикла.

Таким образом, указатель на массив b теряется при каждой итерации и каждый раз создается новый массив b в памяти.

В учебнике(http://javascript.ru/basic/array) прочитал:

Цитата:
Javascript автоматически очищает память, как и Java, в отличие от C/C++, поэтому вы можете присвоить переменной новый массив:

arr = [ ]
При этом старый объект-массив будет удален в процессе "сборки мусора".
Так а когда именно происходит очистка, то есть освобождение памяти под тот самый массив b? И как javascript понимает что его нужно удалить? из памяти? Когда на массив нет ни одного указателя?
Ответить с цитированием