Разработка на 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.