Дэвид Флэнаган - JavaScript. Подробное руководство, 6-е издание

Здесь есть возможность читать онлайн «Дэвид Флэнаган - JavaScript. Подробное руководство, 6-е издание» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: СПб, Год выпуска: 2012, ISBN: 2012, Издательство: Символ-Плюс, Жанр: Базы данных, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

JavaScript. Подробное руководство, 6-е издание: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «JavaScript. Подробное руководство, 6-е издание»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

C момента выхода первого издания в 1996 году книга "JavaScript: Подробное руководство" превратилась в библию программистов на JavaScript. За эти годы было издано более 500000 экземпляров, и веб-разработчики по-прежнему с восторгом отзываются о ней.
Эта книга - одновременно и руководство программиста, и полноценный справочник по базовому языку JavaScript и клиентским прикладным интерфейсам, предоставляемым веб-броузерами.

JavaScript. Подробное руководство, 6-е издание — читать онлайн ознакомительный отрывок

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «JavaScript. Подробное руководство, 6-е издание», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

7.4. Длина массива

Любой массив имеет свойство length , и это свойство отличает массивы от обычных объектов JavaScript. Для плотных (т.е. неразреженных) массивов свойство length определяет количество элементов в массиве. Его значение на единицу больше самого большого индекса в массиве:

[].length // => 0: массив не имеет элементов

['а','Ь','с'].length // => 3: наибольший индекс равен 2, длина равна 3

Для разреженных массивов значение свойства length больше числа элементов, и все, что можно сказать в этом случае, - это то, что значение свойства length гарантированно будет превышать индекс любого элемента в массиве. Или, говоря иначе, массивы (разреженные или нет) никогда не будут содержать элемент, индекс которого будет больше или равен значению свойства length массива . Для поддержки этого свойства массивы проявляют две особенности поведения. Первая была описана выше: если присвоить значение элементу массива, индекс і которого больше или равен текущему значению свойства length , в свойство length записывается значение i+1 .

Вторая особенность в поведении, обеспечивающем работу свойства length , заключается в том, что при присваивании свойству length неотрицательного целого числа n, меньшего, чем его текущее значение, все элементы массива с индексами, большими или равными значению n, удаляются из массива:

а = [1,2,3,4,5]; // Создать массив с пятью элементами.

a.length =3; // теперь массив а содержит элементы [1,2,3].

a.length = 0; // Удалит все элементы, а - пустой массив [].

a.length = 5; // Длина равна 5, но элементы отсутствуют, подобно Аггау(5)

В свойство length массива можно также записать значение больше, чем его текущее значение. В этом случае в массив не добавляются новые элементы, а просто создается разреженная область в конце массива.

В ECMAScript 5 свойство length массива можно сделать доступным только для чтения, с помощью Object.defineProperty() (раздел 6.7):

а = [1,2,3]; // Создать массив а с тремя элементами.

Object.defineProperty(a, ‘length", // Сделать свойство length

{writable: false}); // доступным только для чтения,

a.length =0; //а не изменится.

Аналогично, если сделать элемент массива ненастраиваемым, его нельзя будет удалить. Если элемент нельзя будет удалить, то и свойство length не может быть установлено в значение, меньшее или равное индексу ненастраиваемого элемента. (Смотрите раздел 6.7, а также описание методов Object.seal() и Object.freeze() в разделе 6.8.3.)

7.5. Добавление и удаление элементов массива

Мы уже видели, что самый простой способ добавить элементы в массив заключается в том, чтобы присвоить значения новым индексам:

а = [] // Создать пустой массив.

а[0] = "zero"; // И добавить элементы.

а[1] = "one";

Для добавления одного или более элементов в конец массива можно также использовать метод push():

а = []; // Создать пустой массив

a.push("zero") // Добавить значение в конец, а = ["zero"]

a.push("one", "two") // Добавить еще два значения, а = ["zero", "one", "two"]

Добавить элемент в конец массива можно также, присвоив значение элементу а[а.length] . Для вставки элемента в начало массива можно использовать метод unshift() (описывается в разделе 7.8), при этом существующие элементы в массиве смещаются в позиции с более высокими индексами.

Удалять элементы массива можно с помощью оператора delete , как обычные свойства объектов:

а = [1.2.3];

delete а[1]; // теперь в массиве а отсутствует элемент с индексом 1

1 in а // => false: индекс 1 в массиве не определен

a.length // => 3: оператор delete не изменяет свойство length массива

Удаление элемента напоминает (но несколько отличается) присваивание значения undefined этому элементу. Обратите внимание, что применение оператора delete к элементу массива не изменяет значение свойства length и не сдвигает вниз элементы с более высокими индексами, чтобы заполнить пустоту, оставшуюся после удаления элемента. После удаления элемента массив превращается в разреженный массив.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «JavaScript. Подробное руководство, 6-е издание»

Представляем Вашему вниманию похожие книги на «JavaScript. Подробное руководство, 6-е издание» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «JavaScript. Подробное руководство, 6-е издание»

Обсуждение, отзывы о книге «JavaScript. Подробное руководство, 6-е издание» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x