Мастер-классы по Javascript, AJAX/COMET, jQuery Узнать больше...
Javascript.RU

JavaScript: Подробное руководство (Definitive Guide)

4a49c49ced114.png
Язык: Русский
Год публикации: 2008
Автор(ы): David Flanagan
Страниц: 982

Краткое содержание
  • Введение в JavaScript
  • Основы JavaScript
  • Клиентский JavaScript
  • Справочник по базовому JavaScript
  • Справочник по клиентскому JavaScript
Средняя: 4.8 (133 votes)

Полное содержание
  • Введение в JavaScript
    • Что такое JavaScript
    • Версии JavaScript
    • Клиентский JavaScript
    • Другие области использования JavaScript
    • Изучение JavaScript
  • Основы JavaScript
    • Лексическая структура
      • Набор символов
      • Чувствительность к регистру
      • Символы-разделители и переводы строк
      • Необязательные точки с запятой
      • Комментарии
      • Литералы
      • Идентификаторы
      • Зарезервированные слова
    • Типы данных и значения
      • Числа
      • Строки
      • Логические значения
      • Функции
      • Объекты
      • Массивы
      • Значение null
      • Значение undefined
      • Объект Date
      • Регулярные выражения
      • Объекты Error
      • Преобразование типов
      • Объекты-обертки для элементарных типов данных
      • Преобразование объектов в значения элементарных типов
      • По значению или по ссылке
    • Переменные
      • Типизация переменных
      • Объявление переменных
      • Область видимости переменной
      • Элементарные и ссылочные типы
      • Сборка мусора
      • Переменные как свойства
      • Еще об области видимости переменных
    • Выражения и операторы
      • Выражения
      • Обзор операторов
      • Арифметические операторы
      • Операторы равенства
      • Операторы отношения
      • Строковые операторы
      • Логические операторы
      • Поразрядные операторы
      • Операторы присваивания
      • Прочие операторы
    • Инструкции
      • Инструкции-выражения
      • Составные инструкции
      • Инструкция if
      • Инструкция else if
      • Инструкция switch
      • Инструкция while
      • Цикл do/while
      • Инструкция for
      • Инструкция for/in
      • Метки
      • Инструкция break
      • Инструкция continue
      • Инструкция var
      • Инструкция function
      • Инструкция return
      • Инструкция throw
      • Инструкция try/catch/finally
      • Инструкция with
      • Пустая инструкция
      • Итоговая таблица JavaScript-инструкций
    • Объекты и массивы
      • Создание объектов
      • Свойства объектов
      • Объекты как ассоциативные массивы
      • Свойства и методы универсального класса Object
      • Массивы
      • Чтение и запись элементов массива
      • Методы массивов
      • Объекты, подобные массивам
    • Функции
      • Определение и вызов функций
      • Аргументы функций
      • Функции как данные
      • Функции как методы
      • Функция-конструктор
      • Свойства и методы функций
      • Практические примеры функций
      • Область видимости функций и замыкания
      • Конструктор Function()
    • Классы, конструкторы и прототипы
      • Конструкторы
      • Прототипы и наследование
      • Объектно-ориентированный язык JavaScript
      • Общие методы класса Object
      • Надклассы и подклассы
      • Расширение без наследования
      • Определение типа объекта
      • Пример: вспомогательный метод defineClass()
    • Модули и пространства имен
      • Создание модулей и пространств имен
      • Импорт символов из пространств имен
      • Модуль со вспомогательными функциями
    • Шаблоны и регулярные выражения
      • Определение регулярных выражений
      • Методы класса String для поиска по шаблону
      • Объект RegExp
    • Разработка сценариев для Java-приложений
      • Встраивание JavaScript
      • Взаимодействие с Java-кодом
  • Клиентский JavaScript
    • JavaScript в веб-броузерах
      • Среда веб-броузера
      • Встраивание JavaScript-кода в HTML-документы
      • Обработчики событий в HTML
      • JavaScript в URL
      • Исполнение JavaScript-программ
      • Совместимость на стороне клиента
      • Доступность
      • Безопасность в JavaScript
      • Другие реализации JavaScript во Всемирной паутине
    • Работа с окнами броузера
      • Таймеры
      • Объекты Location и History
      • Объекты Window, Screen и Navigator
      • Методы управления окнами
      • Простые диалоговые окна
      • Строка состояния
      • Обработка ошибок
      • Работа с несколькими окнами и фреймами
      • Пример: панель навигации во фрейме
    • Работа с документами
      • Динамическое содержимое документа
      • Свойства объекта Document
      • Ранняя упрощенная модель DOM: коллекции объектов документа
      • Обзор объектной модели W3C DOM
      • Обход документа
      • Поиск элементов в документе
      • Модификация документа
      • Добавление содержимого в документ
      • Пример: динамическое создание оглавления
      • Получение выделенного текста
      • IE 4 DOM
    • CSS и DHTML
      • Обзор CSS
      • CSS для DHTML
      • Использование стилей в сценариях
      • Вычисляемые стили
      • CSS-классы
      • Таблицы стилей
    • События и обработка событий
      • Базовая обработка событий
      • Развитые средства обработки событий в модели DOM Level 2
      • Модель обработки событий Internet Explorer
      • События мыши
      • События клавиатуры
      • Событие onload
      • Искусственные события
    • Формы и элементы форм
      • Объект Form
      • Определение элементов формы
      • Сценарии и элементы формы
      • Пример верификации формы
    • Cookies и механизм сохранения данных на стороне клиента
      • Обзор cookies
      • Сохранение cookie
      • Чтение cookies
      • Пример работы с cookie
      • Альтернативы cookies
      • Хранимые данные и безопасность
    • Работа с протоколом HTTP
      • Использование объекта XMLHttpRequest
      • Примеры и утилиты с объектом XMLHttpRequest
      • Ajax и динамические сценарии
      • Взаимодействие с протоколом HTTP с помощью тега <script>
    • JavaScript и XML
      • Получение XML-документов
      • Манипулирование XML-данными cредствами DOM API
      • Преобразование XML-документа с помощью XSLT
      • Выполнение запросов к XML-документу с помощью XPath-выражений
      • Сериализация XML-документа
      • Разворачивание HTML-шаблонов с использованием XML-данных
      • XML и веб-службы
      • E4X: EcmaScript для XML
    • Работа с графикой на стороне клиента
      • Работа с готовыми изображениями
      • Графика и CSS
      • SVG – масштабируемая векторная графика
      • VML – векторный язык разметки
      • Создание графики с помощью тега <canvas>
      • Создание графики средствами Flash
      • Создание графики с помощью Java
    • Сценарии с Java-апплетами и Flash-роликами
      • Работа с апплетами
      • Работа с подключаемым Java-модулем
      • Взаимодействие с JavaScript-сценариями из Java
      • Взаимодействие с Flash-роликами
      • Сценарии во Flash 8
  • Справочник по базовому JavaScript
  • Справочник по клиентскому JavaScript

Автор: sasha1213 (не зарегистрирован), дата: 7 июля, 2009 - 23:01
#permalink

Отличная книга. Глубокий разбор материала, хорошая структура: в начале полное изучение базовых объектов JS. Отсутствие ненужных (читай устаревших) свойств и методов. Гораздо лучше Библии пользователя. Скачал недавно с торрента - вот, читаю.


Автор: GrayFox (не зарегистрирован), дата: 12 июля, 2009 - 23:13
#permalink

Эта книга уже здесь...


Автор: . (не зарегистрирован), дата: 18 июля, 2009 - 23:23
#permalink

Автор: Гость (не зарегистрирован), дата: 16 декабря, 2009 - 15:29
#permalink

чтобы понять о чем эта книга, следует первоначально прочитать Дени Гудмана.


Автор: seeryoga (не зарегистрирован), дата: 12 января, 2010 - 03:00
#permalink

Отличная книга.
Не уверен что подойдёт новичкам, а тем кто разбирается в ООП - превосходное руководство по изучению данного языка.

Хотя автор проводит много параллелей между javaScript, Java и C++ - это хорошо, но делает он это (мне кажется) субъективно.
Он говорит, что JavaScript - это "чистый ООП язык", приводя аналогии с Java.
Зачем ? Мощь JavaScript в том, что он не чистый ООП. (по крайне мере НЕ ЧИСТЫЙ).
И ещё он ошибся на 66 стр., говоря, что в JavaScript строки сравниваются по значению, не так как в Java (по ссылке). Потому, что в Java для класса String тоже сделано исключение и оператор "==" и метод equals() - сравнивают строки по значению.
А в целом - грамотно... приятно читать.


Автор: Гость (не зарегистрирован), дата: 29 января, 2010 - 13:27
#permalink

Он не ошибся на 66 странице.

String str1 = "qwe";
String str2 = new String("qwe");

System.out.println(str1 == str2);

В джаве результат выдаёт false, т.к. сравниваются две ссылки указывающие на разные объекты.


Автор: seeryoga, дата: 16 февраля, 2010 - 23:06
#permalink

Да, действительно - ты прав, я до конца все варианты не проверил, поспешил с выводами, ОДНАКО
я почему так решил, вот такой пример:

String str1 = "qwerty";
String str2 = "q" + "w" + "e" + "rty";

System.out.println(str1 == str2);

в Java даёт результат true.
Единственное разумное объяснение - это сравнение не ссылок на String а их содержимого. Почему сделали такую двойственную ситуацию - непонятно?

Оказывается компилятор, в целях экономии, не создаёт второго объекта, если он указывает на строку, которая уже есть в памяти, а "в тихую" присваивает на неё ссылку. Поэтому в моём случае true.

ps
приношу извинения автору Дэвиду Флэнэгану


Автор: Deniska (не зарегистрирован), дата: 11 марта, 2010 - 20:07
#permalink

Грубо говоря, в приведённом примере компилятор будет делать оптимизацию.
Строку String str2 = "q" + "w" + "e" + "rty"; компилятор преобразует в String str2 = "qwerty"; ещё на этапе компиляции. А так как эти строки одинаковы и не были созданы при помощи new , то компилятор автоматически создаст один статический объект
String("qwerty")
и обоим переменным присвоит ссылку на этот объект.

Вот поэтому и получается в данном примере true


Автор: seeryoga, дата: 16 марта, 2010 - 23:14
#permalink

Оказывается дело ещё запутаннее, т.к. в деле замешан метод hashCode().

Для строк созданных через new, как и положено, наследуется из Object стандартный метод hashCode(), который возвращает адрес объекта. Поэтому сравнение будет по адресам объектов.

А для строки-литерала, метод hashCode() возвращает хэш строкИ, а не её адрес. И это логично, даже не смотря на то, что компилятор неявно создаёт для строки-литерала объект String (всё-таки создаёт ). Метод hashCode() в нём перегружен, и возвращает хэш строки. Поэтому сравниваются строки или их хэши.

Метод hashCode() должен быть логически связан с методами сравнения == и equals().

Поэтому возникла данная двойственная ситуация.

зы
А оптимизирует ли компилятор код или нет - это уже неважно, в данной конкретной ситуации.


Автор: Tim, дата: 29 января, 2010 - 01:06
#permalink

Храни Господь человека выложившева эту книгу


Автор: icemen (не зарегистрирован), дата: 9 февраля, 2010 - 19:03
#permalink

Чтото никак не открывается скачиваемый файл. Качаю, получается файл pdf объемом 5891 кб, при открытии 5-м акробатом, пишет что файл поврежден.


Автор: Слава (не зарегистрирован), дата: 14 февраля, 2010 - 02:31
#permalink

Ай-яй! Воровать - не хорошо.) Советую скачать, ознакомиться, удалить, купить. Пунукт "Купить" - обязательный, так как книга лучшая по теме. Дени Гудман не идет ни в какое сравнение.


Автор: Андрей27 (не зарегистрирован), дата: 16 февраля, 2010 - 07:37
#permalink

Хорошо бы в закладках добавить расшифровку пунктов:
- Часть III. Справочник по базовому JavaScript
- Часть IV. Справочник по клиентскому JavaScript
- Алфавитный указатель
так намного удобнее ориентироваться в книге, как в справочнике.


Автор: Гость (не зарегистрирован), дата: 20 февраля, 2010 - 12:43
#permalink

спасибо огромное за книгу)везде ее с депозитов да литетбитов качать над,а я сейчас не дома и интернет только с кпк)вобщем файлу однозначно +5)


Автор: faa27, дата: 21 апреля, 2010 - 03:43
#permalink

Вот сделал справку по данной книге:JavaScript (client).chm
Оформил Часть IV. Справочник по клиентскому JavaScript в файле CHM. Очень не хватало такого варианта при изучении языка. В CHM удобно пользоваться поиском, лучше чем в PDF.

Вставил содержание для разделов в PDF:
- Часть III. Справочник по базовому JavaScript
- Часть IV. Справочник по клиентскому JavaScript
- Алфавитный указатель
Скачать можно тут JavaScript.pdf
обсуждение на метсном форумеСделал справку файл-CHM: JavaScript (клиенсткий)


Автор: WebJunior (не зарегистрирован), дата: 19 апреля, 2010 - 01:06
#permalink

Книга очень хорошая, но конечно не могу сказать что она пойдет тем кто совсем не имеет навыков программирования, у меня он не большой но тем не менее содержание пока понятно.


Автор: Slawaq, дата: 28 мая, 2010 - 16:00
#permalink

Книга супер, но для начала я прочитал 300 страниц какого-то друг о-го учебника, ну не сильно хорошего, но зато потом эту книгу начал читать в распечатанном виде, всё просто супер, очень, даже очень всё подробно, советую))


Автор: Гость (не зарегистрирован), дата: 1 июля, 2010 - 00:52
#permalink

Вор должен сидеть в тюрьме


Автор: amazing, дата: 14 июля, 2010 - 15:49
#permalink

Хорошая литература.
Тоже очень понравился излагаемый материал, и сравнение с С++ и Java.
Новичкам должна подойти, но тем которые хоть чуть-чуть имели дело с програмированием...


Автор: Deniskan, дата: 24 июля, 2010 - 01:25
#permalink

Какая-ж это скотина надаумила автора написать такую огромную книгу - 982 страницы! У меня школа, которая высасывает все соки, и хочется изучить Javascript. Может подскажете, что нибудь может выбрать из этой книги, а не всю читать? Или какую нибудь другую книгу поменьше на русском языке подскажете! Ну это невозможно читать тыщу страниц - тягомотина, которая незнамо когда кончится!


Автор: ixth, дата: 24 июля, 2010 - 04:22
#permalink

Чувак, это же Книга с Носорогом! Если ты хочешь знать js, то ты обязан прочитать ее до конца. Не все прошли этот путь, но о тех, кто это сделал, ходят легенды. Они покинули план бытия javascript.ru, потому что у них не осталось больше вопросов и лишь самоотверженные бодхисаттвы спускаются с высот Прочитавших Книгу с Носорогом, дабы посеять мудрость среди остальных.

В любом случае, если некогда, то могу посоветовать Учебник по основным элементам языка и Справочник.


Отправить комментарий

Приветствуются комментарии:
  • Полезные.
  • Дополняющие прочитанное.
  • Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
    Для остальных вопросов и обсуждений есть форум.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.
Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешены HTML-таги: <strike> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <u> <i> <b> <pre> <img> <abbr> <blockquote> <h1> <h2> <h3> <h4> <h5> <p> <div> <span> <sub> <sup>
  • Строки и параграфы переносятся автоматически.
  • Текстовые смайлы будут заменены на графические.

Подробнее о форматировании

CAPTCHA
Антиспам
8 + 2 =
Введите результат. Например, для 1+3, введите 4.
 
Новости

Открылась регистрация на мастер-классы по профессиональному Javascript, AJAX/COMET, jQuery в городах:

  • Ярославль (24-25 сентября)
  • Новосибирск (3-4 октября)
  • Казань (9-10 октября)
  • Минск (16-17 октября)
  • Днепропетровск (23-24 октября)
  • Одесса (30-31 октября)
  • Самара (13-14 ноября)

Более подробно - на странице мастер-классов.

Если вас интересует другой город - посмотрите здесь, выбрав "Другие города".

Поиск по сайту
Содержание

Учебник javascript

Основные элементы языка

Сундучок с инструментами

Интерфейсы

Все об AJAX

Оптимизация

Разное

Дерево всех статей

Статьи и мероприятия

Будьте в курсе наших последних новостей!

Последние обсуждения на форуме
Forum
Последние комментарии