Самостоятельная работа по js
Самостоятельная работа по js
Самостоятельная работа по js
Например:
Вызов prompt возвращает текст, указанный в поле для ввода, или null, если ввод
отменён пользователем.
Например:
Confirm
Функция confirm отображает модальное окно с текстом вопроса question и двумя
кнопками: OK и Отмена.
Результат – true, если нажата кнопка OK. В других случаях – false.
Например:
Получим в браузере:
Задание. Создать документ index.html, который будет выводить alert с надписью «загрузка
прошла успешно». Следующим шагом подтвердающее окно «являетесь ли Вы админом
данной системы?». При положительном ответе на странице index.html должна добавиться
надпись «Панель админа. Здравствуйте.» При отрицательном ответе в консоле JS вывести
надпись «что-то пошло не так. Возможно данный пользователь не является
администратором системы».
$commision
someVariable
product_Store
income2
myIncome_from_deposit
222lol
@someVariable
my%percent
abstract, boolean, break, byte, case, catch, char, class, const, continue, debugger, default, delete,
do, double, else, enum, export, extends, false, final, finally, float, for, function, goto, if,
implements, import, in, instanceof, int, inteface, long, native, new, null, package, private,
protected, public, return, short, static, super, switch, synchronized, this, throw, throws, transient,
true, try, typeof, var, volatile, void, while, with
Теперь переменная income будет хранить число 300, а переменная price - число 76.
Отличительной чертой переменных является то, что мы можем изменить их значение:
Константы
Также стоит отметить, что поскольку мы не можем изменить значение константы, то она
должна быть инициализирована, то есть при ее определении мы должны предоставить ей
начальное значение. Если мы этого не сделаем, то опять же мы столкнемся с ошибкой:
Типы данных
Все используемые данные в javascript имеют определенный тип. В JavaScript имеется пять
примитивных типов данных:
Строки
Тип Boolean
Тип Boolean представляет булевые или логические значения true и false (то есть да или
нет):
null и undefined
Нередко возникает путаница между null и undefined. Итак, когда мы только определяем
переменную без присвоения ей начального значения, она представляет тип undefined:
object
В данном случае объект называется user, и он имеет два свойства: name и age. Это краткое
описание объектов, более подробное описание приводится в соответствующей главе.
Слабая типизация
JavaScript является языком со слабой типизацией. Это значит, что переменные могут
динамически менять тип. Например:
Несмотря на то, что во втором и третьем случае консоль выведет нам число 45, но во
втором случае переменная xNumber будет представлять число, а в третьем случае - строку.
Оператор typeof
Операции с переменными
Математические операции
JavaScript поддерживает все базовые математические операции:
Результатом будет 5, так как наибольшее целое число, которое меньше или равно 40 и при
этом делится на 7 равно 35, а 40 - 35 = 5.
Инкремент:
Операции присваивания
Операторы сравнения
Как правило, для проверки условия используются операторы сравнения.
Операторы сравнения сравнивают два значения и возвращают значение true или false:
Все операторы довольно просты, наверное, за исключением оператора равенства и
оператора тождественности. Они оба сравнивают два значения, но оператор
тождественности также принимает во внимание и тип значения. Например:
Переменная result здесь будет равна true, так как фактически и income, и strIncome
представляют число 100.
Но оператор тождественности возвратит в этом случае false, так как данные имеют
разные тип:
Аналогично работают операторы неравенства != и !==.
Логические операции
Логические операции применяются для объединения результатов двух операций
сравнения. В JavaScript есть следующие логические операции:
Операции со строками
Строки могут использовать оператор + для объединения. Например:
Изучить типы данных, знать разницу между null и undefined. Привести пример
работы префиксного и постфиксного инкремента. В index.php тождественно сравнить var
_myVar = 1234 и переменную myVar2 = “1234”. Результат напечатать на странице.
Вместе с новыми элементами audio и video в HTML5 был добавлен новый API в JavaScript
для управления этими элементами. С помощью кода JavaScript мы можем получить
элементы video и audio (как и любой другой элемент) и использовать их свойства. В
JavaScript эти элементы представлены объектом HTMLMediaElement, который с
помощью свойств, методов и событий позволяет управлять воспроизведением аудио и
видео. Отметим наиболее важные свойства, которые могут нам пригодиться для
настройки этих элементов:
В этом случае текстовый узел будет создан неявно при установке текста.
Если нам надо вставить новый узел на второе, третье или любое другое место, то
нам надо найти узел, перед которым надо вставлять, с помощью комбинаций свойств
firstChild/lastChild и nextSibling/previousSibling.
Копирование элемента
Замена элемента
Работа с атрибутами:
Размеры и позиция элементов
Элементы имеют ряд свойств, которые позволяют определить размер элемента. Но важно
понимать разницу между всеми этими свойствами
Изменение свойства style
Изменение значения атрибута class
Свойство style
Свойство className
И если надо вовсе удалить все классы, то можно присвоить свойству пустую строку:
articleDiv.className = "";
Свойство classList
Выше было рассмотрено, как добавлять классы к элементу, однако для управления
множеством классов гораздо удобнее использовать свойство classList. Это свойство
представляет объект, реализующий следующие методы:
Например:
Также можно было бы вынести все действия по обработке события в отдельную функцию:
Кроме того, надо отметить, что здесь обработчик возвращает результат. Хотя в первом
примере с блоком div от обработчика не требовалось возвращения результата. Дело в том,
что для некоторых обработчиков можно подтвердить или остановить обработку события.
Например, нажатие на ссылку должно привести к переадресации. Но возвращая из
обработчика false, мы можем остановить стандартный путь обработки события, и
переадресации не будет. Если же возвращать значение true, то событие обрабатывается в
стандартном порядке.
Обработчики событий
Встроенные обработчики
К элементу для одного события может быть прикреплен только один обработчик
Стоит также отметить, что в обработчик события браузер автоматически передает объект
Event, хранящий всю информацию о событии. Поэтому также мы можем получить этот
объект в функции обработчика в качестве параметра.
Слушатели событий
Несмотря на то, что свойства обработчиков решают ряд проблем, которые связаны с
использованием атрибутов, в то же время это также не оптимальный подход. Еще один
способ установки обработчиков событий представляет использование слушателей.
События мыши
Объект Event является общим для всех событий. Однако для разных типов событий
существуют также свои объекты событий, которые добавляют ряд своих свойств. Так, для
работы с событиями указателя мыши определен объект MouseEvent, который добавляет
следующие свойства:
altKey: возвращает true, если была нажата клавиша Alt во время генерации события
button: указывает, какая кнопка мыши была нажата
clientX: определяет координату Х окна браузера, на которой находился указатель
мыши во время генерации события
clientY: определяет координату Y окна браузера, на которой находился указатель
мыши во время генерации события
ctrlKey: возвращает true, если была нажата клавиша Ctrl во время генерации
события
metaKey: возвращает true, если была нажата во время генерации события
метаклавиша клавиатуры
relatedTarget: определяет вторичный источник возникновения события
screenX: определяет координату Х относительно верхнего левого угла экрана
монитора, на которой находился указатель мыши во время генерации события
screenY: определяет координату Y относительно верхнего левого угла экрана
монитора, на которой находился указатель мыши во время генерации события
shiftKey: возвращает true, если была нажата клавиша Shift во время генерации
события
События клавиатуры
altKey: возвращает true, если была нажата клавиша Alt во время генерации события
charCode: возвращает символ Unicode для нажатой клавиши (используется для
события keypress)
keyCode: возвращает числовое представление нажатой клавиши клавиатуры
ctrlKey: возвращает true, если была нажата клавиша Ctrl во время генерации
события
metaKey: возвращает true, если была нажата во время генерации события
метаклавиша клавиатуры
shiftKey: возвращает true, если была нажата клавиша Shift во время генерации
события