- •1.Архитектура Клиент-Сервер. Взаимодействие клиента и сервера в сети интернет. Основные понятия языков разметки: sgml, html, xhtml, dhtml, xml.
- •2.Програмное обеспечение клиента и сервера. Взаимодействие веб-клиента и серверного программного обеспечения. Протоколы обмена данными.
- •5. Язык js. Его возможности и ограничения. Лексемы. Идентификаторы. Ключевые слова и зарезервированные слова. Типы данных. Произведение типов. Константы. Переменные.
- •6. Локальные и глобальные переменные. Массивы. Обработка элементов массива и способы вывода результата. Организация ассоциативных массивов в js.
- •7. Массив как объект. Встроенные методы для работы с массивами. Добавление и удаление элементов массива.
- •8. Каскадные таблицы стилей css: основные понятия и определения. Селекторы, свойства, аргументы. Селекторы тэгов. Классы стилей. Способы подключения таблицы стилей. Возможности css3.
- •9. Интерактивное управление динамическим состоянием объектов. Псевдоклассы и псевдоэлементы.
- •10. Условные операторы if, if…else. Оператор switch. Способы обработки исключительных ситуаций. Оператор instanceof в js.
- •11. Операторы цикла for, for..In, while, do..While, break, continue.
- •12. Понятие функций в js. Создание функций. Использование параметров. Передача объекта по ссылке в функциях.
- •13. Встроенные функции в объекты js (window, document, array и др.). Встроенные функции для взаимодействия с пользователем в js.
- •14. Рекурсивные функции и анонимные функции в js. Функции как объекты. Их назначение и примеры использования. Функции обработанного вызова (callback). Их назначение и параметры использования.
- •15. Объекты js. Понятие объекта. Виды объектов. Создание пользовательских объектов js, и работа с ним.
- •1. Создание прямого экземпляра объекта
- •2. Создание конструктора объекта
- •16. Наследование в js на основе концепций прототипноориентированного языка. Свойство prototype. Добавление свойств и методов к конструкторам объектов.
- •17. Создание и наследование классов в js на основе стандартов Ecma 6.
- •18. Свойства объектов, методы, события. Добавление, удаление, доступ к свойствам. Создание конструкторов и их роль для новых свойств объектов.
- •19. Встроенные методы для работы со строковыми объектами. Работа с регулярными выр-ми. Возможности обработки строковых данных в js.
- •20. Браузеры и их функциональные возможности. Особенности реализации web-приложений в разных браузерах. Иерархия объектов браузера.
- •21. Понятие и структура bom. Объекты верхнего уровня.
- •22. Работа с окнами. Объект Window. Свойства окна. Создание, открытие и закрытие окон. Основные методы и свойства окон.
- •23. Понятие иерархической модели dom. Варианты поиска элементов.
- •24. Определение событий формы. Создание элементов формы. Методы для работы с формами.
- •25. Использование набора многократно используемых объектов и функций библиотек js (jQuery, Prototype, Mootools, Dojo) при разработке веб-приложений.
- •26. Работа с событиями экрана, клавиатуры, мыши в js. Добавление метода в html dom addEventListener().
- •27. Хранение данных на стороне клиента. Виды хранения. Преимущества и недостатки сохранения данных на стороне клиента.
- •Cookie - это специальные файлы, создаваемые веб - сервером и хранящиеся на компьютере клиента. Данные передаются серверу и обратно. Плюс – простота.
- •Технология Web Storage
- •28. Особенности использования Cookie в js. Сохранение и уничтожение данных с помощью Cookie.
- •29. Использование html5 Application Cache для хранения данных на стороне клиента. Возможности и ограничения html5 Application Cache.
- •30. Использование html5 Web Storage для сохранения данных на клиентской стороне. Локальное и сессионное хранилище, их создание, использование и особенности.
- •31. Технология Ajax для передачи данных в фоновом режиме. Объект xmlHttpRequest. Обработка ответов от сервера.
- •32. Особенности хранения данных с помощью WebSql. Метод executeSql(). Организация табличного хранения данных. Внесение и удаление данных из таблиц.
- •34. Особенности применения паттернов проектирования (mvc,mvvm,mvp) в js.
- •35.Использование паттерна mvp на основе библиотек Backbone и AngularJs.
- •37. Технология динамического обращения к серверу без перегрузки всей страницы. Передача данных на страницу данных в формате html, .Txt, xml и json.
- •38. Особенности функционального программирования в js. Метод bind(), немедленно вызываемые функции, самоопределяющиеся функции.
- •39. Функции замыкания и обратного вызова (callback) в js. Роль функций обратного вызова в организации асинхронного обмена данными (на примере Node.Js).
- •40. Управление зависимостями: принципы модульного программирования в js. Концепции amd.
- •41. Использование модульного подхода к программированию в js на примере работы с библиотекой Require.Js.
- •42. Менеджер задач (на примере Grunt). Варианты заданий.
- •43. Назначение и функции пакетных менеджеров Bower и npm.
- •44. Платформа Node.Js и ее возможности. Программирование на стороне сервера.
- •45. Использование документно-ориентированных баз данных в js. Организация хранения данных на примере MongoDb.
- •46. Ключевые моменты оценки качества веб-проектов. Практические методы client-side оптимизации.
- •1.Архитектура Клиент-Сервер. Взаимодействие клиента и сервера в сети интернет. Основные понятия языков разметки: sgml, html, xhtml, dhtml, xml.
26. Работа с событиями экрана, клавиатуры, мыши в js. Добавление метода в html dom addEventListener().
Добавление метода HTML DOM addEventListener()
elem.addEventListener(event, listener, capture)
Параметры:
elem - элемент, чьи события будем перехватывать
event - строка, наименование события (без префикса 'on')
listener - функция, которой будет передаваться событие
capture - булевое значение, если true, то осуществляется capture, если false - bubling (если не в курсе, что это означает – пишите false;
Функция addEventListener регистрирует свой второй аргумент как функцию, которая вызывается, когда описанное в первом аргументе событие случается.
Метод removeEventListener удаляет обработчик
Объекты событий
Если надо узнать, какая кнопка мыши была нажата, мы можем обратиться к свойству which.
<button>Жми меня, чем хочешь! </button>
<script>
var button = document.querySelector("button");
button.addEventListener("mousedown", function(event) {
if (event.which == 1)
console.log("Левая");
else if (event.which == 2)
console.log("Средняя");
else if (event.which == 3)
console.log("Правая");
}); </script>
Действия по умолчанию.
У многих событий есть действия по умолчанию. При клике на ссылку вы перейдёте по ней. Если обработчик не хочет, чтобы это действие происходило, он может вызвать метод preventDefault.
События от кнопок клавиатуры.
При нажатии кнопки на клавиатуре браузер запускает событие «keydown». Когда она отпускается, происходит событие «keyup».
<p> Страница по нажатию V офиолетивает .</p>
<script>
addEventListener("keydown", function(event) {
if (event.keyCode == 86) \\закодированная кнопка
document.body.style.background = "violet"; });
addEventListener("keyup", function(event) {
if (event.keyCode == 86)
document.body.style.background = ""; });
</script>
Кнопки-модификаторы типа Shift, Ctrl, Alt, создают события, как и нормальные кнопки. Можно выяснить, были ли нажаты они, через свойства shiftKey, ctrlKey, altKey.
<p>Нажмите Ctrl-Space для продолжения.</p>
<script>
addEventListener("keydown", function(event) {
if (event.keyCode == 32 && event.ctrlKey)
console.log("Продолжаем!");
}); </script>
Движение мыши
1) Каждый раз при сдвиге курсора мыши запускается событие «mousemove».
2) События «mouseover» or «mouseout» можно использовать для создания эффектов проведения мыши, показывая или меняя стиль чего-либо.
Такой эффект достижим гораздо проще через CSS под названием :hover.
Кнопки мыши
1) События «mousedown» и «mouseup» когда кнопка нажата и когда отпущена. После события «mouseup» запускается событие “click”. Если два щелка происходят достаточно быстро друг за другом, запускается событие «dblclick» (double-click).
2) Для получения точных координат места, где произошло событие мыши, обратитесь к свойствам pageX и pageY (координаты в пикселях относительно верхнего левого угла.)
События прокрутки
1) Когда элемент прокручивается, записывается событие «scroll». Это используется чтобы узнать, на что сейчас пользователь смотрит или визуально подсвечивать часть содержания или показывая номер страницы.
2) Глобальная переменная innerHeight даёт высоту окна, которую надо вычесть из полной высоты прокручиваемого элемента – при достижении конца элемента прокрутка заканчивается.
Событие загрузки
1) Когда заканчивается загрузка страницы, на объектах window и body запускается событие “load”. У эл-в типа картинок или тегов скрипта, которые загружают внешний файл, тоже есть событие “load”, которое показывает, что файл загружен.
2) Когда страница закрывается или с неё уходят запускается событие «beforeunload». Цель - защитить пользователя от потери данных при закрытии документа. Для этого используется возврат строки из обработчика. Строка будет использована в диалоге, который спрашивает пользователя, хочет ли он остаться на странице или покинуть её. Этот механизм гарантирует, что пользователь может покинуть страницу, даже если на ней работает зловредный скрипт, который бы хотел не отпускать пользователя, а вместо этого показывал бы ему мошенническую рекламу по снижению веса.
