Автор: Стефанов С.
Год издания: 2011
Издательство: Символ-Плюс
Язык: русский
Размер: 2,97 Мб
Страниц: 265
Формат: DJVU
ISBN: 978-5-93286-208-7
Разработчики серверных, клиентских или настольных приложений на JavaScript нередко сталкиваются с проблемами, связанными с объектами, функциями, наследованием и другими особенностями этого языка. Какие же приемы разработки приложений на JavaScript являются наиболее удачными? Данная книга дает ответ на этот вопрос, предлагая большое количество различных шаблонов программирования на JavaScript, таких как "единственный объект" (singleton), "фабрика" (factory), "декоратор" (decorator) и другие. Можно сказать, что они являются не только методами решения наиболее типичных задач разработки ПО, но и заготовками решений для целых категорий таких задач.
Использование шаблонов при программировании на языке javascript имеет свои особенности. Некоторые из них, разработанные с позиций языков со строгим контролем типов, таких как C++ и Java, не могут непосредственно применяться в языках с динамической типизацией, таких как JavaScript. Для таких шаблонов в языке javascript имеются более простые альтернативы.
Написанная экспертом по языку javascript Стояном Стефановым - ведущим специалистом компании Yahoo! и создателем инструмента оптимизации производительности веб-страниц YSlow 2.0, - книга включает практические советы по реализации каждого из рассматриваемых шаблонов с примерами программного кода. Автор также приводит антишаблоны - приемы программирования, которых следует по возможности избегать.
Содержание:
Предисловие
Глава 1. Введение
Шаблоны
JavaScript: концепции
JavaScript - объектно-ориентированный язык
В JavaScript отсутствуют классы
Прототипы
Среда выполнения
ECMAScript 5
JSLint
Консоль
Глава 2. Основы
Создание простого в сопровождении программного кода
Минимизация количества глобальных переменных
Проблемы, связанные с глобальными переменными
Побочные эффекты, возникающие в отсутствие объявления var
Доступ к глобальному объекту
Шаблон единственной инструкции var
Подъем: проблемы с разбросанными переменными
Циклы for
Циклы for-in
Расширение встроенных прототипов (в том числе нежелательное)
Шаблон switch
Избегайте неявного приведения типов
Не используйте eval()
Преобразование строки в число с помощью parselnt()
Соглашения по оформлению программного кода
Отступы
Фигурные скобки
Местоположение открывающей скобки
Пробелы
Соглашения по именованию
Заглавные символы в именах конструкторов
Выделение слов
Другие шаблоны именования
Комментарии
Документирование API
Пример использования YUIDoc
Пишите так, чтобы можно было читать
Оценка коллегами
Сжатие... при подготовке к эксплуатации
Запуск JSLint
В заключение
Глава 3. Литералы и конструкторы
Литералы объектов
Синтаксис литералов объектов
Создание объектов с помощью конструкторов
Недостатки конструктора Object
Собственные функции-конструкторы
Значения, возвращаемые конструкторами
Шаблоны принудительного использования new
Соглашения по именованию
Использование ссылки that
Конструкторы, вызывающие сами себя
Литералы массивов
Синтаксис литералов массивов
Странности конструктора Array
Проверка массивов
JSON
Обработка данных в формате JSON
Литералы регулярных выражений
Синтаксис литералов регулярных выражений
Объекты-обертки значений простых типов
Объекты Error
В заключение
Глава 4. Функции
Основы
Устранение неоднозначностей в терминологии
Объявления и выражения: именаи подъем
Свойство name функций
Подъем функций
Функции обратного вызова
Пример использования функции обратного вызова
Функции обратного вызова и их области видимости
Обработчики асинхронных событий
Предельное время ожидания
Функции обратного вызова в библиотеках
Возвращение функций
Самоопределяемые функции
Немедленно вызываемые функции
Параметры немедленно вызываемых функций
Значения, возвращаемые немедленно
вызываемыми функциями
Преимущества и особенности использования
Немедленная инициализация объектов
Выделение ветвей, выполняющихся на этапе инициализации...
Свойства функций - шаблон мемоизации
Объекты с параметрами
Каррирование
Применение функций
Частичное применение
Каррирование
Когда использовать каррирование
В заключение
Глава 5. Шаблоны создания объектов
Пространство имен
Универсальная функция для создания пространства имен
Объявление зависимостей
Частные свойства и методы
Частные члены
Привилегированные методы
Нежелательный доступ к частным членам
Частные члены и литералы объектов
Частные члены и прототипы
Объявление частных функций общедоступными методами
Шаблон "модуль"
Шаблон открытия модуля
Модули, создающие конструкторы
Импортирование глобальных переменных в модули
Шаблон изолированного пространства имен
Глобальный конструктор
Добавление модулей
Реализация конструктора
Статические члены
Общедоступные статические члены
Частные статические члены
Объекты-константы
Шаблон цепочек
Достоинства и недостатки шаблона цепочек
Метод method()
В заключение
Глава 6. Шаблоны повторного использования программного кода
Классические и современные шаблоны наследования
Ожидаемый результат при использовании
классического наследования
Классический шаблон № 1: шаблон по умолчанию
Обход цепочки прототипов
Недостатки шаблона № 1
Классический шаблон № 2: заимствование конструктора
Цепочка прототипов
Множественное наследование
при заимствовании конструкторов
Достоинства и недостатки шаблона
заимствования конструктора
Классический шаблон № 3: заимствование и установка прототипа
Классический шаблон № 4: совместное использование прототипа
Классический шаблон № 5: временный конструктор
Сохранение суперкласса
Установка указателя на конструктор
Функция klass()
Наследование через прототип
Обсуждение
Дополнения в стандарте ECMAScript 5
Наследование копированием свойств
Смешивание
Заимствование методов
Пример: заимствование методов массива
Заимствование и связывание
Function. prototype. bind ()
В заключение
Глава 7. Шаблоны проектирования
Единственный объект
Использование оператора new
Экземпляр в статическом свойстве
Экземпляр в замыкании
Фабрика
Встроенная фабрика объектов
Итератор
Декоратор
Пример использования
Реализация
Реализация с использованием списка
Стратегия
Пример проверки данных
Фасад
Прокси-объект
Пример
Прокси-объект как кэш
Посредник
Пример использования шаблона посредника
Наблюдатель
Пример 1: подписка на журнал
Пример 2: игра на нажатие клавиш
В заключение
Глава 8. Шаблоны для работы с деревом DOM и броузерами
Разделение на составные части
Работа с деревом DOM
Доступ к дереву DOM
Манипулирование деревом DOM
События
Обработка событий
Делегирование событий
Сценарии, работающие продолжительное время setTimeout()
Фоновые вычисления (web workers)
Удаленные взаимодействия
XMLHttpRequest
Формат JSONP
Обмен данными с использованием фреймов и изображений
Развертывание сценариев JavaScript
Объединение сценариев
Сжатие и компрессия
Заголовок Expires
Использование CDN
Стратегии загрузки
Местоположение элемента script
Фрагментирование средствами HTTP
Динамические элементы script для неблокирующей загрузки сценариев
Отложенная загрузка
Загрузка по требованию
Предварительная загрузка сценариев JavaScript
В заключение
Алфавитный указатель
Рейтинг: | 4.8 баллов / 2537 оценок |
Формат: | Книга |
Уже скачали: | 12848 раз |
Нам показалось, что Книги ниже Вас заинтересуют не меньше. Эти издания Вы так же можете скачивать и читать совершенно бесплатно на сайте!
Название:More Python Programming for the Absolute Beginne Издательство: Course PTRАвтор:Jonathan S. Harbour Год: 2011Количество страниц:252Язык:English Формат: PDFРазмер:5,3 MbWhat better way is there . . .
Название: Visualforce Development CookbookИздательство:PACKT Автор:Keir Bowden Год: 2013 Количество страниц:334Язык:English Формат: epub, pdfРазмер:6,5 Mb; 10,1 MbVisualforce, in conjunction with Apex . . .
Автор: А.И.Коротяев, С.А.Бабичев.Год выпуска: 2008Жанр: Микробиология.Издательство: СпецЛит .ISBN: 978-5-299-00369-7.Формат: DjVu.Язык: Русский.Качество: Отсканированные страницы.Количество страниц: . . .
Название: Kampfflugzeuge von heuteИздательство: KaiserАвтор: Antiquariat KastanienhofISBN: 3704360287Год: 1999Формат: pdfРазмер: 58 MbКол-во страниц: 240Язык: GermanKampfflugzeuge von heute. Typen - E . . .
Название: Aero Magazin 2000-05Издательство: JetMedia Kiado Kft Год: 2000Формат: pdfРазмер: 190 MbКол-во страниц: 84Язык: HungarianВенгерский авиационный журналuploaded.netdepositfilesturbobit.net . . .
Название: Тепловые явления при обработке металлов резанием Автор: Панкина Е.А.(ред.)Издательство: М.: НТО машиностр. промышл.Год: 1959Страниц: 222Формат: PDFРазмер: 20 МбЯзык: русскийИзложены теорети . . .
Название: The Armourer Militaria MagazineИздательство: Beaumont PublishingГод / месяц: March/April 2014 Страниц: 92Язык: EnglishФормат: PDFРазмер: 73 MBThe Armourer is the UK’s No.1 magazine for milit . . .
Название: Пикник на обочине. Хармонт. Наши дниАвтор: Майк ГелпринИздательство: ACTСерия: Пикник на обочинеГод издания: 2014ISBN: 978-5-17-082662-9Страниц: 384Размер: 1,1 мбФормат: FB2, RTFМногое изме . . .
Название:Learning Software Testing with Test Studio Издательство:PACKT Автор:Rawane MadiГод: 2013 Количество страниц:376Язык:English Формат: pdfРазмер:14,2 MbEmbark on the exciting journey of test au . . .
Название: Припять—Москва. Тебя здесь не ждут, сталкер!Автор: Алексей МолокинИздательство: ACTСерия: STALKERГод издания: 2014ISBN: 978-5-17-083193-7Страниц: 347Размер: 2,1 мбФормат: FB2, RTFСталкеры в . . .
Если вы хотите скачивать книги, журналы и аудиокниги бесплатно, без рекламы и без смс, оставлять комментарии и отзывы, учавствовать в различных интересных мероприятиях, получать скидки в книжных магазинах и многое другое, то Вам необходимо зарегистрироваться в нашей Электронной Библиотеке.
К сожалению, в нашей Бесплатной Библиотеке пока нет отзывов о Книге JavaScript. Шаблоны. Помогите нам и другим читателям окунуться в сюжет Книги и узнать Ваше мнение. Оставьте свой отзыв или обзор сейчас, это займет у Вас всего-лишь несколько минут.