модуль 1 введение Продолжительность: одна неделя
(доступен бесплатно для тех кто прошел регистрацию)
1. Общая информация
История возникновения и эволюция JavaScript.
Предметная область использования, зачем знать JavaScript.
JavaScript и Java, коротко про ECMAScript.
В чем разница ECMAScript5 и ECMAScript6.
Обзор структуры курса и методики обучения.
2. Базовые знания
Редакторы кода, какой выбрать.
Структура кода, подключение скриптов.
Понятие переменных.
6 типов данных (новый тип Symbol из ECMAScript6).
Операторы.
Преобразование типов.
модуль 2 Начало работы, базовые конструкции и синтаксис Продолжительность: 3,5 недели
1. Практическое занятие. Редактор кода + Git
Установка IDE.
Что такое система контроля версий Git.
Примеры работы в консоли (создание и подключение к репозиторию, commit, pull, push).
Работа с помощью программы SourceTree.
2. Основные операторы
Операторы сравнения (<, >
.
Логические операторы (||, &&, !).
Тернарный оператор (?
" title="Smile
">.
Условные операторы (if, ?).
Циклы while, for, for...in.
3. Обзор домашнего задания «Основные операторы»
4. Функции, основные понятия
Определение функции.
Особенности работы с переменными.
Functionexpression и functiondeclaration.
Глобальные функции.
5. Обзор домашнего задания «Функции»
6. Объекты
Понятие и создание объекта.
Работа с объектами, перебор свойств.
Объект Array, основные методы.
Объект String, основные методы.
Объект Date, основные методы.
7. Обзор домашнего задания «Объекты»
модуль 3 DOM, События, замыкание, модуль Продолжительность: 3 недели
1. Работа с DOM
Что такое DOM структура документа.
Навигация по DOM структуре.
Обзор основных методов объекта document: getElement* и querySelector*.
Создание, удаление и добавление элементов в DOM дерево.
Работа со стилями средствами JavaScript.
Что такое BOM.
2. Обзор домашнего задания «DOM»
3. События
Введение в браузерные события.
Обзор наиболее популярных событий мышки и клавиатуры.
Назначение обработчика событий.
Всплывание (bubbling) и распространение событий.
Делегирование событий.
4. Обзор домашнего задания «События»
5. Замыкание функции, модуль
Scope функции или лексическое окружение.
Что такое замыкание.
Function and variable hoisting.
Самовызывающаяся функция.
Что такое модуль, базовый пример реализации.
6. Обзор домашнего задания «Замыкание функции, модуль»
модуль 4 Объектно ориентированное программирование, this 1. Ключевое слово this
Какую роль выполняет this в JavaScript.
Особенности работы this при создании новых объектов.
Пример «модуля» с методами объявленными через this.
Пример потери контекста, решение проблемы, анонимной функции.
Функция bind() и карринг.
Назначение call() и apply().
2. Обзор домашнего задания «Ключевое слово this»
3. Наследование и ООП (Часть 1)
Что такое Объектно Ориентированное Программирование, основные принципы.
Понятие объекта с точки зрения ООП.
Наследование и цепочка прототипов в JavaScript.
Пример прототипного наследования для готовых объектов используя __proto__.
4. Наследование и ООП (Часть 2)
Пример прототипного наследования используя Object.create().
Пример реализации прототипного наследования используя функцию конструктор.
Наследование одного класса другим с помощью современного и классического метода.
5. Обзор домашнего задания «Наследование и ООП»
модуль 5 Бонусный урок на ваш выбор и сессия кодинга в реальном времени