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

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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

Для всех объектных типов и типов массивов результатом оператора typeof является строка «object», поэтому он может быть полезен только для определения принадлежности значения к объектному или к простому типу. Чтобы отличить один класс объектов от другого, следует использовать другие инструменты, такие как оператор instanceof (раздел 4.9.4), атрибут class (раздел 6.8.2) или свойство constructor (разделы 6.8.1 и 9.2.2).

Несмотря на то что функции в JavaScript также являются разновидностью объектов, оператор typeof отличает функции, потому что они имеют собственные возвращаемые значения. В JavaScript имеется тонкое отличие между функциями и «вызываемыми объектами». Функции могут вызываться, но точно так же можно создать вызываемый объект - который может вызываться подобно функции, -не являющийся настоящей функцией. В спецификации ECMAScript 3 говорится, что оператор typeof должен возвращать строку «function» для всех объектов базового языка, которые могут вызываться. Спецификация ECMAScript 5 расширяет это требование и требует, чтобы оператор typeof возвращал строку «function» для всех вызываемых объектов, будь то объекты базового языка или среды выполнения. Большинство производителей броузеров для реализации методов своих объектов среды выполнения используют обычные объекты-функции базового языка JavaScript. Однако корпорация Microsoft для реализации своих клиентских методов всегда использовала собственные вызываемые объекты, вследствие чего в версиях до IE9 оператор typeof возвращает строку «object» для них, хотя они ведут себя как функции. В версии ІЕ9 клиентские методы были реализованы как обычные объекты-функции базового языка. Подробнее об отличиях между истинными функциями и вызываемыми объектами рассказывается в разделе 8.7.7.

4.13.3. Оператор delete

Унарный оператор delete выполняет попытку удалить свойство объекта или элемент массива, определяемый операндом. [3] Программистам на C++ следует обратить внимание, что delete в JavaScript совершенно не похож на delete в C++. В JavaScript освобождение памяти выполняется сборщиком мусора автоматически, и беспокоиться о явном освобождении памяти не надо. Поэтому в операторе delete в стиле C++, удаляющем объекты без остатка, нет необходимости. Подобно операторам присваивания, инкремента и декремента, оператор delete обычно используется ради побочного эффекта, выражающегося в удалении свойства, а не ради возвращаемого значения. Ниже приводятся несколько примеров его использования:

var о = {х: 1, у: 2}; // Определить объект

delete о.х; // Удалить одно из его свойств

"х" in о // => false: свойство больше не существует

var а = [1,2,3]: // Создать массив

delete а[2]; // Удалить последний элемент массива

2 in а // => false: второй элемент больше не существует

a.length // => 3: обратите внимание, что длина массива при этом не изменилась

Внимание: удаленное свойство или элемент массива не просто получает значение undefined . После удаления свойства оно прекращает свое существование. Попытка прочитать значение несуществующего свойства возвратит значение undefined , но вы можете проверить фактическое наличие свойства с помощью оператора in (раздел 4.9.3). Операция удаления элемента массива оставляет в массиве «дырку» и не изменяет длину массива. В результате получается разреженный массив.

Оператор delete требует, чтобы его операнд был левосторонним выражением. Если операнд не является левосторонним выражением, оператор не будет выполнять никаких действий и вернет значение true . В противном случае delete попытается удалить указанное левостороннее выражение. В случае успешного удаления значения левостороннего выражения оператор delete вернет значение true . Не все свойства могут быть удалены: некоторые встроенные свойства из базового и клиентского языков JavaScript устойчивы к операции удаления. Точно так же не могут быть удалены пользовательские переменные, объявленные с помощью инструкции var. Кроме того, невозможно удалить функции, объявленные с помощью инструкции function , а также объявленные параметры функций.

В строгом режиме, определяемом стандартом ECMAScript 5, оператор delete возбуждает исключение SyntaxError , если его операндом является неквалифицированный идентификатор, такой как имя переменной, функции или параметра функции: он может оперировать только операндами, которые являются выражениями обращения к свойству (раздел 4.4). Кроме того, строгий режим определяет, что оператор delete должен возбуждать исключение ТуреЕггог , если запрошено удаление ненастраиваемого свойства (раздел 6.7). В обычном режиме в таких случаях исключение не возбуждается, и оператор delete просто возвращает false , чтобы показать, что операнд не был удален.

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

Интервал:

Закладка:

Сделать

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

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


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

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

x