Показать сообщение отдельно
  #7 (permalink)  
Старый 27.11.2012, 11:09
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

var collection = document.createElement('select').options

collection // []
collection instanceof Array // false
collection instanceof HTMLCollection // true
collection.push // undefined

collection.add(document.createElement('option'))
collection.add(document.createElement('option'))

collection // [ <option>​</option>​, <option>​</option>​ ]
collection.length //2
collection[0] // <option>​</option>​
collection[1] // <option>​</option>​

collection[0] = null

collection.length // 1
collection[0] // <option>​</option>​
collection[1] // undefined

var array = []
array // []
array instanceof Array // true

array.push('a')
array.push('b')

array // ["a", "b"]
array.length // 2

array[0] = null  //array [null, "b"]

array.length //2


коллекция - "живой" набор элементов. Если элемент из набора исчезает или добавляется коллекция тутже меняется. Присваивая collection[i] = null мы удаляем ссылку на элемент, и элемент из коллекции автоматически исчезает. Присваивая array[i] = null , мы просто выставляем значение элементу массива null, сам массив не меняется.
Ответить с цитированием