В JavaScript массив - это специальный объект, свойство которого называется положительным целым числом, а свойство длины будет изменяться по мере увеличения или уменьшения членов массива. В то же время, некоторые методы, используемые для выполнения массива, унаследованы от конструктора массива. Для обычного объекта, если все названия его свойств являются положительными целыми числами и имеют соответствующие атрибуты длины, то, хотя объект не создается конструктором массива, он по -прежнему представляет поведение массива. В этом случае эти объекты называются «объектами класса массива». Вот простой объект класса массива:
Кода -копия выглядит следующим образом:
var O = {0:42, 1:52, 2:63, длина: 3}
console.log (o);
В отличие от обычных объектов, классовые объекты массивы имеют функцию: методы работы массивов могут быть применены на объектах класса массива. Например, в стандарте Ecmascript 5 приведенный выше объект O может быть объединен в строку, используя следующие методы:
Кода -копия выглядит следующим образом:
console.log (array.prototype.join.call (o)); // "42,52,63"
Вы также можете использовать метод slice () для получения Subarrays на объектах массива классов:
Кода -копия выглядит следующим образом:
console.log (array.prototype.slice.call (o, 1, 2)); // [52]
В среде браузера оператор Document.GetElementsBytagName () возвращает объект класса массива. В вызовах функций переменная аргументов (сохраняет пропущенные параметры) в коде функции также является объектом массива класса.
В стандарте Ecmascript 5 String String-это объект массива классов только для чтения:
Кода -копия выглядит следующим образом:
var s = "история";
Console.log (s [3]); // t
console.log (array.prototype.join.call (s, "")); // h istory