Казахстан, г. Алматы, ул. Шевченко 90, БЦ «Каратал», офис 53
Казахстан, г. Астана, ул. Иманова 19, БЦ Деловой Дом "Алма-Ата", офис 612

Даты проведения курса

Выберите удобное для вас число,
запишитесь на курс, заполнив простую форму

записаться на курс
направление: WEB разработка кол-во дней: 5
кол-во часов: 40

Язык, выпущенный к середине 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

В курсе на разных этапах предусмотрено создание разнообразных анимированных объектов, систем меню, фотогалерей, игроподобных проектов, "кастомных" форм и пр., что требует раскрытия всех полученных на протяжении курса знаний и навыков.