Выберите удобное для вас число,
запишитесь на курс, заполнив простую форму
Язык, выпущенный к середине 90х годов для веб-браузера Netscape, основанный на синтаксисе Java и предназначенный для автоматизации операций с объектами веб-документа, за что в шутку прозвался "Java для дизайнера".
В настоящее время стал одним из популярнейших языков программирования (по некоторым данным - самым популярным) и стал основой для развития своих "диалектов": JScript, ECMAScript, EasyScript и развивается параллельно с технологиями JQuery, AJAX.
Широко используется разработчиками как клиентской части веб-страниц, так и серверной (например, Node.js).
Введение в JavaScript
Зачем нужен Java-скрипт?
История и разница Java и JavaScript
Версии JavaScript, ECMAScript6
Синтаксис JavaScript
Интеграция JavaScript с HTML
Основы синтаксиса, внешние скрипты, элемент noscript
Комментарии
Отладка: вывод сообщений (alert, document.title, document.write(), innerHTML и в консоль Developer Tools)
Отладка ошибок через try-catch-finally
Распознавание браузера по userAgent
Данные в JavaScript
Переменные, константы
Объявление переменных
Присвоение значений
Типы данных, приведение типов
Спецзначения NaN, null, Infinity, undefined
Арифметические операции
Сложение, вычитание, умножение, деление, остаток от деления, слияние
Инкремент и декремент
Функции parseInt(), parseFloat(), isNaN()
Объект Math
Условные операторы, логические операции, операторы сравнения
Операторы сравнения
Логические операции
Оператор if-else
Оператор switch
Троичный условный оператор
Функции
Зачем нужны пользовательские функции?
Объявление функции
Передача аргументов и возврат значений
Область видимости переменных
Модули ECMAScript
Анонимные функции и "стрелочный" синтаксис
Chaining
Циклы
Цикл for
Управляющие операторы break и continue
Цикл while
Цикл for-in
Таймеры
Интервальный таймер
Timeout
Анимация, основанная на таймерах
Массивы и коллекции
Создание массива через new Array() и []
Одномерные массивы
Массивы массивов
Прохождение по массивам в цикле
Функции для работы с массивами и их элементами: сортировка, сечения, склейка, добавление/удаление элементов
Понятие о коллекциях
Создание пользовательских объектов через new Object и в синтаксисе JSON
Создание классов
Объектно-ориентированное программирование
Принципы объектно-ориентированного программирования
Объектная модель браузера
Способы обращения из JavaScript к объектам (через уникальные коллекции, коллекция all, childNodes, this, по id и name, getElementBy и т.д.)
Манипуляции с объектами (innerHTML, insertAdjacent, createElement и пр.)
Событийная модель
Понятие о событийной модели - прохождение события, передача события, остановка прохождения
Задание, переключение и удаление обработчиков событий различными способами
События
События мыши (mouseout, mouseover, mousemove, mouseup, mousedown, dragstart и пр.)
Rollovers, Parallax, DragDrop и прочие красивые эффекты, основанные на событиях
События клавиатуры, загрузки, прокрутки и пр.
Работа с графикой
Коллекция images, элемент IMG, фоны
Анимация графики (сменой кадров и "протяжкой" спрайтов)
Canvas, SVG
Работа со строками
Объявление строки
Экранированные последовательности
Слияние строк, подстановка переменных и ECMA-синаксис
Строковые функции
Создание разнообразных строковых эффектов - бегущие строки, "прыгающие" буквы и т.д.
Регулярные выражения для анализа строк
XML-парсинг
Работа с датами и временем
Работа с web-формами
События форм и элементов
Валидация форм
Создание "кастомных" полей (нестандартные символы маски в парольном поле, связанные списки, нестандартные чекбоксы и пр.)
FileReader API
Окна
alert, prompt, confirm
Объект Window
Взаимодействие с удалёнными источниками
Объект XMLHttpRequest
Промисы, асинхронные функции
Fetch API
Дополнительные возможности
Геолокация
Cookie, sessionStorage
Прочие WebAPI
В курсе на разных этапах предусмотрено создание разнообразных анимированных объектов, систем меню, фотогалерей, игроподобных проектов, "кастомных" форм и пр., что требует раскрытия всех полученных на протяжении курса знаний и навыков.