^
Начало
Установить закладку
+ Настройки
14 | 16 | 18 | 20 | 22 | 24
Ширина текста:
50% | 60% | 70% | 80% | 90% | 100%
Шрифт:
Цвет текста:
Установить
Цвет фона:
Установить
Сбросить настройки
Введение
О программировании
Почему язык имеет значение
Что такое JavaScript?
Код, и что с ним делать
1. Величины, типы и операторы
Величины
Числа
Арифметика
Специальные числа
Строки
Унарные операторы
Булевские величины
Сравнения
Неопределённые значения
Автоматическое преобразование типов
Короткое вычисление логических операторов
Итог
2. Структура программ
Выражения и инструкции
Переменные
Переменные как щупальца
Ключевые и зарезервированные слова
Окружение
Функции
Диалог alert
Функция console.log
Возвращаемые значения
prompt и confirm
Управление порядком выполнения программы
Циклы while и do
Циклы for
Выход из цикла
Короткое обновление переменных
Работаем с переменными при помощи switch
Регистр имён
Комментарии
Итог
Упражнения
3. Функции
Определение функции
Параметры и область видимости
Вложенные области видимости
Функции как значения
Объявление функций
Замыкания
Рекурсия
Выращиваем функции
Функции и побочные эффекты
Итог
Упражнения
4. Структуры данных: объекты и массивы
Белка-оборотень
Журнал оборотня
Итоговый анализ
Дальнейшая массивология
Строки и их свойства
Объект 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 и браузер
Сети и интернет
Веб
HTML
HTML и 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. Проект: веб-сайт по обмену опытом
Встречи моноциклистов
Дизайн
Длинные запросы
Интерфейс HTTP
Сервер
Клиент
Упражнения