Книга: Выразительный JavaScript
Оглавление книги
- Введение
- О программировании
- 1. Величины, типы и операторы
- Величины
- Числа
- Строки
- Унарные операторы
- Булевские величины
- Неопределённые значения
- Автоматическое преобразование типов
- Итог
- 2. Структура программ
- Выражения и инструкции
- Переменные
- Ключевые и зарезервированные слова
- Окружение
- Функции
- Функция console.log
- Возвращаемые значения
- prompt и confirm
- Управление порядком выполнения программы
- Условное выполнение
- Циклы while и do
- Отступы в коде
- Циклы for
- Выход из цикла
- Короткое обновление переменных
- Работаем с переменными при помощи switch
- Регистр имён
- Комментарии
- Итог
- Упражнения
- 3. Функции
- Определение функции
- Параметры и область видимости
- Вложенные области видимости
- Функции как значения
- Объявление функций
- Стек вызовов
- Необязательные аргументы
- Замыкания
- Рекурсия
- Выращиваем функции
- Функции и побочные эффекты
- Итог
- Упражнения
- 4. Структуры данных: объекты и массивы
- Белка-оборотень
- Наборы данных
- Свойства
- Методы
- Объекты
- Изменчивость (Mutability)
- Журнал оборотня
- Вычисляем корреляцию
- Объекты как карты (map)
- Итоговый анализ
- Дальнейшая массивология
- Строки и их свойства
- Объект arguments
- Объект Math
- Объект global
- Итог
- Упражнения
- 5. Функции высшего порядка
- Абстракции
- Абстрагируем обход массива
- Функции высшего порядка
- Передача аргументов
- JSON
- Фильтруем массив
- Преобразования при помощи map
- Суммирование при помощи reduce
- Компонуемость
- Цена
- Пра-пра-пра-пра-пра-…
- Связывание
- Итог
- Упражнения
- 6. Тайная жизнь объектов
- История
- Методы
- Прототипы
- Конструкторы
- Перегрузка унаследованных свойств
- Нежелательное взаимодействие прототипов
- Объекты без прототипов
- Полиморфизм
- Форматируем таблицу
- Геттеры и сеттеры
- Наследование
- Оператор instanceof
- Итог
- Упражнения
- 7. Проект: электронная жизнь
- Определение
- Изображаем пространство
- Программный интерфейс существ
- Мировой объект
- this и его область видимости
- Оживляем мир
- Оно двигается
- Больше форм жизни
- Более жизненная ситуация
- Обработчики действий
- Населяем мир
- Вдохнём жизнь
- Упражнения
- 8. Поиск и обработка ошибок
- Ошибки программистов
- Строгий режим (strict mode)
- Тестирование
- Отладка (debugging)
- Распространение ошибок
- Исключения
- Подчищаем за исключениями
- Выборочный отлов исключений
- Утверждения (Assertions)
- Итог
- Упражнения
- 9. Регулярные выражения
- Создаём регулярное выражение
- Проверяем на совпадения
- Ищем набор символов
- Повторяем части шаблона
- Группировка подвыражений
- Совпадения и группы
- Тип даты
- Границы слова и строки
- Шаблоны с выбором
- Механизм поиска
- Откаты
- Метод replace
- Жадность
- Динамическое создание объектов RegExp
- Метод search
- Свойство lastIndex
- Циклы по вхождениям
- Разбор INI файлы
- Международные символы
- Итог
- Упражнения
- 10. Модули
- Зачем нужны модули
- Использование функций в качестве пространств имён
- Объекты в качестве интерфейсов
- Отсоединяемся от глобальной области видимости
- Выполняем данные как код
- Require
- Медленная загрузка модулей
- Разработка интерфейса
- Итог
- Упражнения
- 11. Проект: язык программирования
- Разбор (parsing)
- Интерпретатор
- Специальные формы
- Окружение
- Функции
- Компиляция
- Мошенничество
- Упражнения
- 12. JavaScript и браузер
- 13. Document Object Model
- Деревья
- Стандарт
- Обход дерева
- Поиск элементов
- Меняем документ
- Создание узлов
- Атрибуты
- Расположение элементов (layout)
- Стили
- Каскадные стили
- Селекторы запросов
- Расположение и анимация
- Итог
- Упражнения
- 14. Обработка событий
- Обработчики событий
- События и узлы DOM
- Объекты событий
- Распространение (propagation)
- Действия по умолчанию
- События от кнопок клавиатуры
- Кнопки мыши
- Движение мыши
- События прокрутки
- События, связанные с фокусом
- Событие загрузки
- График выполнения скрипта
- Установка таймеров
- Устранение помех (debouncing)
- Итог
- Упражнения
- 15. Проект: игра-платформер
- Игра
- Технология
- Уровни
- Чтение уровня
- Действующие лица (актёры)
- Бремя инкапсуляции
- Рисование
- Движение и столкновение
- Актёры и действия
- Отслеживание клавиш
- Запуск игры
- Упражнения
- 16. Рисование на холсте
- SVG
- Элемент холста canvas
- Заливка и обводка
- Пути
- Кривые
- Рисуем круговую диаграмму
- Текст
- Изображения
- Преобразования
- Хранение и очистка преобразований
- Назад к игре
- Выбор графического интерфейса
- Итог
- Упражнения
- 17. HTTP
- Протокол
- Браузер и HTTP
- XMLHttpRequest
- Отправка запроса
- Асинхронные запросы
- Получение данных XML
- Песочница для HTTP
- Абстрагируем запросы
- Обещания
- Цените HTTP
- Безопасность и HTTPS
- Итог
- Упражнения
- 18. Формы и поля форм
- Поля
- Фокус
- Отключённые поля
- Форма в целом
- Текстовые поля
- Галочки и радиокнопки
- Поля select
- Файловое поле
- Хранение данных на стороне клиента
- Итог
- Упражнения
- 19. Проект: Paint
- Простая программа рисования
- Реализация
- Строим DOM
- Основание
- Выбор инструмента
- Цвет и размер кисти
- Сохранение
- Загрузка картинок
- Закругляемся
- Упражнения
- 20. Node.js
- Вступление
- Асинхронность
- Команда node
- Модули
- Установка через NPM
- Модуль file system
- Модуль HTTP
- Потоки
- Простой файловый сервер
- Обработка ошибок
- Итог
- Упражнения
- 21. Проект: веб-сайт по обмену опытом
- Содержание книги
- Популярные страницы
Оглавление статьи/книги
- Введение
- О программировании
- 1. Величины, типы и операторы
- 2. Структура программ
- 3. Функции
- 4. Структуры данных: объекты и массивы
- 5. Функции высшего порядка
- 6. Тайная жизнь объектов
- 7. Проект: электронная жизнь
- 8. Поиск и обработка ошибок
- 9. Регулярные выражения
- 10. Модули
- 11. Проект: язык программирования
- 12. JavaScript и браузер
- 13. Document Object Model
- 14. Обработка событий
- 15. Проект: игра-платформер
- 16. Рисование на холсте
- 17. HTTP
- 18. Формы и поля форм
- 19. Проект: Paint
- 20. Node.js
- 21. Проект: веб-сайт по обмену опытом
- Содержание книги
- Популярные страницы
Похожие страницы
- Выразительный JavaScript
- Листинг 9.3. Пример JavaScript-файла, закрывающего всплывающее окно
- Глава 12 Краткий курс JavaScript
- Справочник по базовому JavaScript
- Основы программирования на JavaScript
- Работа с XSLT и JavaScript в Internet Explorer
- Глава 1. Введение в JavaScript
- 13.3. Выполнение JavaScript-программ
- Новые игрушки! API JavaScript
- III Справочник по базовому JavaScript
- IV Справочник по клиентскому JavaScript
- Лекция 11. Обработка ошибок в JavaScript