- •1.Архитектура Клиент-Сервер. Взаимодействие клиента и сервера в сети интернет. Основные понятия языков разметки: sgml, html, xhtml, dhtml, xml.
- •2.Програмное обеспечение клиента и сервера. Взаимодействие веб-клиента и серверного программного обеспечения. Протоколы обмена данными.
- •5. Язык js. Его возможности и ограничения. Лексемы. Идентификаторы. Ключевые слова и зарезервированные слова. Типы данных. Произведение типов. Константы. Переменные.
- •6. Локальные и глобальные переменные. Массивы. Обработка элементов массива и способы вывода результата. Организация ассоциативных массивов в js.
- •7. Массив как объект. Встроенные методы для работы с массивами. Добавление и удаление элементов массива.
- •8. Каскадные таблицы стилей css: основные понятия и определения. Селекторы, свойства, аргументы. Селекторы тэгов. Классы стилей. Способы подключения таблицы стилей. Возможности css3.
- •9. Интерактивное управление динамическим состоянием объектов. Псевдоклассы и псевдоэлементы.
- •10. Условные операторы if, if…else. Оператор switch. Способы обработки исключительных ситуаций. Оператор instanceof в js.
- •12. Понятие функций в js. Создание функций. Использование параметров. Передача объекта по ссылке в функциях.
- •11. Операторы цикла for, for..In, while, do..While, break, continue.
- •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.
9. Интерактивное управление динамическим состоянием объектов. Псевдоклассы и псевдоэлементы.
Свойство transition можно применять к чему угодно - фону, цвету, длине, размеру шрифта и т.д. В основном это свойства, задающие цвет или свойства, которые могут быть выражены в единицах длины (px, em, ex) или в %. В качестве события мы так же можем использовать псевдо-классы: focus и active. Вообще использовать transition можно с любыми селекторами.
Итоговая таблица:
- transition-property (Свойство, к которому применяем анимацию)
- transition-duration (Длительность анимации, время в секундах: 0.5s - полсекунды, 60s -одна минута)
- transition-delay (задержка анимации)
Пример:
<style>
.transition2:hover {
transition: 3s;}
</style>
<div class="blok transition2"> плавная смена при наведении на div</div>
Псевдо-классы предназначены для изменения стиля существующих элементов страницы в зависимости от их динамического состояния, например при работе со ссылками (:link, :visited, :hover, :active, :focus).
Псевдо-классы:
1.:link применяется для не посещенных ссылок.
2.:visited определяет внешний вид посещенных ссылок По умолчанию такие ссылки меняют свой цвет на фиолетовый, но с помощью данного псевдо-класса цвет и другие параметры можно поменять.
3.:active применяется к активным элементам. Например, для активации ссылки, необходимо навести на нее курсор и щелкнуть мышкой.
4.:focus применяется к элементу при получении фокуса. Например, поле текстового ввода получает фокус, когда в него установлен курсор.
5.:hover применяется к элементу, когда на него наведен курсор мыши, но щелчка не происходит.
В CSS2 определены ещё 2 псевдо-класса:
:first-child — первый дочерний элемент.
:lang(language) — язык фрагмента документа.
Псевдо-элементы определяют стиль элементов, чётко не определённых в структуре документа (:first-letter, :first-line), а также позволяют генерировать и стилизировать несуществующее содержимое (:before, :after и свойство content).
В CSS3 псевдо-элементы начинаются с двух двоеточий :: (::first-letter,::first-line, ::before, ::after).
Псевдо-элементы:
1.:first-line привязывает стиль к первой строке текста в элементе веб страницы.
2.:first-letter привязывает стиль к первой букве текста.
3.:after и :before применяется для вставки контента после и перед содержимым элемента.
10. Условные операторы if, if…else. Оператор switch. Способы обработки исключительных ситуаций. Оператор instanceof в js.
Оператор if - это базовый управляющий оператор, позволяющий JS выполнять операторы в зависимости от условий. Оператор if имеет две формы:
1) if (выражение)
оператор
2) if (выражение)
оператор1;
else
оператор2;
Оператор else if не является самостоятельным оператором JS. это лишь распространенный стиль программирования.
if (n == 1) {
// Выполнить блок 1}
else if (n == 2) {
// Выполнить блок 2}
else {}
Оператор switch сравнивает значение выражения с различными вариантами и при совпадении выполняет соответствующий код
switch(n) {
case 1: // Выполняется, если n === 1
break; // Здесь остановиться
case 2: // Выполняется, если n === 2
break; // Здесь остановиться
case 3: // Выполняется, если n === 3
break; // Здесь остановиться
default: // Если все остальное не подходит...
break; // Здесь остановиться }
Конструкция try-catch используется как способ обработки исключений.
try { //код, приводящий к ошибке}
catch (ошибка) //действия при обнаружение ошибки}
Любой код, который может вызвать ошибку, помещается в блок try, а код, который будет обрабатывать найденную ошибку, помещается в блок catch. Блок catch в качестве единственного параметра получает объект, содержащий сведения о возникшей ошибке.
try {
var number = 10;
alert(namber); }
catch(error) { // наше действие на обнаружение ошибки
alert("Упс, мы неправильно указали имя пер-й!");
alert(error.message); //сообщение сгенерированное браузером }
Оператор throw используется для вызова пользовательской ошибки в любой момент t. Он используется со значением любого типа.
throw 12345;
throw “Привет!”;
throw true;
При использовании оператора throw выполнение кода незамедлительно останавливается и переходит к конструкции try - catch, которая ловит переданное значение.
Оператор instanceof используется для проверки, принадлежит ли объект данному типу. Например, при поимке исключения нужно обработать только исключение определенного типа.
В левой части оператора instanceof указывается проверяемый объект, а с правой – функция-конструктор для проверки.
var theDay = new Date(2009, 11, 17);
if (theDay instanceof Date) {
alert("Объект класса Date") }
