Уже третий урок мы продолжаем осваивать шаг за шагом JavaScript. В предыдущем уроке мы познакомились с важными составляющими кода - переменными, которые являются основой кода и представляют из себя символические имена, которые могут принимать различные значения. В этой статье продолжится изучение переменных и их взаимодействие с пользователями, а также вы узнаете на какие типы данных разделяются переменные и познакомитесь с основными операторами.
Работа со значениями, полученными от пользователей
Существуют несколько команд для взаимодействия с пользователем, основные из них:
- alert
- promt
- confirm
► С функцией alert, мы уже знакомы. С её помощью выводится модальное окно, в котором отображается сообщение и остается до тех пор, пока пользователь не нажмет Ok (Enter).
alert("Привет друзья");
► Вторая функция promt предназначена для того, чтобы у пользователя была возможность ввести текст. В отличие от предыдущей функции, здесь можно нажать Отмена (Esc).
var primer = prompt ('Как тебя зовут?', 'Вася');
Здесь в скобках сначала указывается заголовок окна, а следующее значение заполнено по умолчанию в поле для ввода данных. Значение по умолчанию можно упустить, тогда нужно оставить пустые кавычки.
Введенные данные можно показать пользователю, скомбинировав с функцией alert:
alert ("Привет " + primer + " как дела?");
► Функция confirm отображает сообщение, в котором пользователь нажимает Ок или Отмена, в результате полученных данных на сервер отправляются значения true (ok) или false (отмена).
var primer = confirm ('Вы хотите узнать JavaScript?');
При появлении любого модального окна приостанавливается обработка последующих скриптов (и загрузка страницы), пока пользователь не среагирует на сообщение.
Типы данных
Переменные имеют 6 типов данных:
- Неопределенные (undefined) - если обозначена переменная, но к ней не записано ни одного значения, то результат будет иметь вид - undefined.
- Нулевые (null) - имеет специальное значение - null, которое обозначает пустую строку или означает то, что значение неизвестно. Пример: var proba=null;
- Числовые (number) - этот тип используется для всех видов чисел, как для целых, так и для дробных и имеет различия в значениях +0 (0) и -0. Пример: var numb=3.5;
- Строковые (string) - предназначены для задания текста, цифр, символов. Значения переменных заключаются в двойные или одинарные кавычки. Пример: var text="Всем привет!";
- Логические (boolean) - имеет два значения - true(правда) и false(ложь), обозначающие условия Да/Нет. Более подробно в следующих уроках. Пример: var example=true;
- Объектные (object) - значением этого типа является объект - неупорядоченный набор свойств. Объекты создаются с помощью оператора new. Пример: var ex_object=new Object( )
Основные операторы
Арифметические операторы (+,-,/,*,%,++,--)
Для проверки и экспериментом с кодом, скопируйте Пример из предыдущей статьи в блокнот (сохранив его в формате html) и вставляйте в него новые записи между тегами <script> </script>.
Стандартные операторы (сложение +, вычитание -, умножение *, деление /):
x = 10 * 15/x;
alert(x);
Оператор модуль числа (%) - подсчитывает остаток после деления:
alert(8 % 3); // здесь остаток будет 2
Операторы инкремент (++) и декремент (--) - для увеличения и уменьшения значений на 1:
x++;
alert (x); // значением будет число 16
По аналогии с инкрементом, у декремента значение уменьшается на 1.
Нижестоящие записи будут иметь различные ответы:
var x = 5;
var y = x--;
alert(y); // ответом будет 5
|
var x = 5;
var y = --x;
alert(y); // ответом будет 4
|
Различные ответы получается из-за того, что переменные имеют разные формы:
- x-- (x++) - это постфиксная форма, сначала возвращает реультат, а затем присваивает значение
- --x (++x) - это префиксная форма наоборот присваивает значение и выводит результат
Важно! Инкремент и декремент можно применять только с переменными! С числами нельзя!
Строковые операторы (+, +=)
Арифметические сложения, также можно выполнять по отношению к строкам:
alert (str); // результатом будет приветдрузья
Если выполнить сложение строки и числа, то можно получить следующее:
alert ('5'+10) // в результате получим 510
alert (8+'2') // получим число 82
alert (+'7'+3) // получим 10, т.к. перед 7 стоит знак +
Пример сокрашенного оператора += имеет вид:
x='text';
str += x; // эта запись соответствует str=str+x
alert(str);
Оператор присваивания (=)
Этот оператор присваивает переменной результат, полученный справа:
var y = 70
var x = y-x // сначала выполняются предыдущие вычисления
alert (x) // результатом будет число 20
Также операцию присваивания можно применять внутри вычисления:
var y = 5;
var z = 6 - (x = y); // в итоге z=1
alert(x = z); // ответом будет 1
Из примера видно, что переменная слева может присваивать значение другой переменной.
Оператор присваивания может сочетаться с арифметическим действием. Например запись x=x+2 может быть сокращена так: x+=2:
var y = 1 + (x *= 5);
alert(y); // в результате ответ будет 11
Таким образом можно использовать сокращенные операторы: с арифметическими: +=, -=, *=, /= и с побитовыми: >>=, <<=, >>>=, &=, |=, ^=).
Побитовые операторы
Это операторы, которые принимают значения, как 32-разрядные целые числа, в JavaScript существуют следующие побитовые операторы:
- AND( & ) - обозначает И
- OR ( | ) - ставится в случае ИЛИ
- XOR ( ^ ) - при ИСКЛЮЧАЮЩЕМ ИЛИ
- NOT ( ~ ) - обозначает НЕ
- LEFT SHIFT ( << ) - левый сдвиг
- RIGHT SHIFT ( >> ) - правый сдвиг
- ZERO-FILL RIGHT SHIFT ( >>> ) - правый сдвиг с заполнением нулями
Подробнее о побитовых операторах будет рассмотрено в одной из следующих статей.
Оператор перечисления (,)
Для перечисления значений, разделяя их запятой. Однако, если значения не стоят в скобках, то будет выполняться только первое значение.
Оператор удобно применять для перечисления нескольких действий:
alert(x); // ответом будет 3
В этом примере - перечисленные действия через запятую вычисляются и отбрасываются, остается только результат после последней запятой.