Разработка на JavaScript

JavaScript – универсальный скриптовый язык, весьма гибкий и мощный.

JavaScript находит широкое применение как язык описания сценариев для web-браузера, позволяет придавать интерактивность HTML-документам, так и в разработке серверных приложений на Node.js. В данном курсе будут рассмотрены основные возможности языка, традиционные области его применения и рассмотрены способы его применения при программировании web-приложений.

После прохождения курса слушатели будут хорошо разбираться в возможностях языка JavaScript, научатся создавать сценарии средней и высокой сложности для большинства актуальных при разработке web-приложений задач, связанных с созданием интерактивного интерфейса пользователя, включая технологию Ajax.

В первой части курса слушателями будет подробно изучена структура и синтаксис языка, его объектная модель. Во второй части подробно рассматривается DOM модель HTML-документа, делается введение в CSS, изучаются техника управления DOM и CSS c помощью JavaScript; модели обработки событий; вопросы создания форм. Рассматривается объект XMLHttpRequest, технология JSON и технология Ajax. Обзорно рассматривается библиотека jQuery.

 

Разбираемые темы:

1. Введение в JavaScript:

  • Версии JavaScript;
  • Client-side JavaScript;
  • Примеры использования JavaScript;
  • Популярность JavaScript.

2. Лексическая структура:

  • Кодировка и case sensitivity;
  • Пробелы;
  • Комментарии;
  • Идентификаторы;
  • Зарезервированные слова.

3.Типы данных:

  • Числа;
  • Строки;
  • Логический тип;
  • Функции;
  • Объекты;
  • Массивы;
  • Значения null и undefined;
  • Объектные оболочки примитивных типов;
  • Конвертация типов данных.

4. Переменные:

  • Типизация и декларация;
  • Область видимости;
  • Блочная область видимости;
  • Примитивные и ссылочные типы;
  • Сборщик мусора ;
  • Переменные и свойства объекта;
  • Цепочка видимости (scope chain).

5. Операторы:

  • Обзор операторов JS;
  • Число операндов;
  • Приоритеты операций;
  • Ассоциативность оператора;
  • Арифметические операторы;
  • Equality (==) и Identity (===);
  • Условные операторы;
  • Строковые операторы;
  • Логические операторы;
  • Битовые операторы;
  • Оператор присваивания;
  • Прочие операторы.

6. Утверждения:

  • Условное утверждение;
  • Утверждение switch;
  • Утверждение while;
  • Утверждение do/while;
  • Утверждение for;
  • Утверждение for/in;
  • Утверждение break;
  • Утверждение continue;
  • Утверждение var.

7. Объекты и массивы:

  • Объект;
  • Свойства объекта;
  • Объект как массив;
  • Стандартные свойства и методы объектов;
  • Массив;
  • Доступ к элементам массива;
  • Добавление нового элемента в массив;
  • Длина массива;
  • Методы массивов.

8. Использование исключений в JavaScript:

  • Понятие исключения;
  • throw;
  • try-catch-finally;
  • Наилучшая практика использования исключений.

9. Функции:

  • Определение и вызов функции;
  • Аргументы функции и объект Arguments;
  • Функции как данные;
  • Функции как методы;
  • Методы и свойства объекта функции;
  • Call-объект;
  • Область видимости и замыкания;
  • Конструктор Function().

10. Классы и прототипы:

  • Конструкторы;
  • Прототип и наследование свойств;
  • Эмуляция классов JavaScript;
  • Общие методы;
  • Наследование классов.

11. JavaScript в Web-браузере:

  • Роль JS в Web, обзор основных возможностей JS в web-браузере;
  • Объект window как глобальный контекст;
  • Внедрение JS в HTML;
  • Выполнение программ JS;
  • Безопасность JavaScript.

12. Document Object Model:

  • Модель DOMф;
  • DOM Level 0;
  • W3C DOM;
  • Универсальное представление дерева;
  • HTML имплементация DOM-модели;
  • Версии W3C DOM -модели;
  • Совместимость DOM в браузерах;
  • Обход DOM-дерева;
  • Поиск элементов в документе;
  • Модификация документа;
  • Добавление элементов в документ;
  • Свойство innerHTML.

13. Каскадные таблицы стилей:

  • Введение в CSS;
  • Атрибуты видимости и позиционирования;
  • CSS box-model;
  • Атрибуты Visibility и Display;
  • Атрибут z-index;
  • Атрибуты overflow and clip;
  • Управление стилями с помощью JavaScript;
  • HTML-анимация;
  • Включение и выключение CSS.

14. Протокол HTTP:

  • Веб-сервера;
  • POST- и GET-методы;
  • Другие методы;
  • Коды состояния HTTP.

15. Формы:

  • Доступ к форме и к элементам формы;
  • Определение элементов формы;
  • Общие свойства элементам формы;
  • Элементы формы.

16. Управление окном браузера:

  • Таймеры;
  • Свойство window.location;
  • История загрузки документов;
  • Геометрия окна;
  • Объект Screen;
  • Объект Navigator;
  • Открытие нового окна;
  • Диалоговые окна;
  • Обработка ошибок.

17. Библиотека jQuery:

  • Обзор jQuery;
  • jQuery селекторы;
  • Манипуляции DOM;
  • Манипуляции CSS;
  • Использование jQuery для создания обработчиков событий;
  • Использование jQuery для создания визуальных эффектов.

18. События:

  • Событийно-ориентированное программирование;
  • Добавление обработчиков событий;
  • События браузера;
  • События документа;
  • События формы;
  • События клавиатуры;
  • События мыши.

19. Cookies:

  • Обзор Cookies;
  • Безопасность и ограничения;
  • Время жизни cookie;
  • Создание и область действия cookie;
  • Чтение cookie;
  • Удаление cookie;
  • Использование jQuery для работы с cookie (jQuery plugin).

20. Асинхронное программирование в JavaScript:

  • Асинхронное программирование;
  • Преимущества асинхронного программирования;
  • Функция обратного вызова - основа асинхронного программирования
  • XMLHttpRequest;
  • Использование XML для AJAX;
  • Использование JSON для AJAX;
  • Использование jQuery для AJAX вызовов;
  • Отложенные (deferred) объекты.

21. Model-View-Controller библиотеки (frameworks) для JavaScript:

  • Что такое MVC?
  • Типичные возможности MVC-библиотек;
  • Backbone.js;
  • Другие MVC-библиотеки.

22. JavaScript -инструменты:

  • Отладка JavaScript;
  • Сжатие кода;
  • Тестирование приложений на JavaScript.

23. Будущее JavaScript:

  • ECMAScript 6.
22.06.2016