Основные операторы в JavaScript

  • docx
  • 25.05.2020
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала Основные операторы в JavaScript.docx

Тема: Основные операторы в JavaScript.

План занятия:          

1.      Операторы сравнения и логического значения. Побитовые операторы.

2.      Взаимодействие с пользователем: alert, prompt, confirm.Переменные

3.      Условные операторы

                                                  

Цель занятия: Изучить основные операторы  JavaScript.


Термины: «унарный», «бинарный», «операнд»

Операнд – то, к чему применяется оператор. Например: 5 * 2 – оператор умножения с левым и правым операндами. Другое название: «аргумент оператора».

Унарным называется оператор, который применяется к одному операнду. Например, оператор унарный минус "-" меняет знак числа на противоположный:

var x = 1;
x = -x;
alert( x ); // -1, применили унарный минус

Бинарным называется оператор, который применяется к двум операндам. Тот же минус существует и в бинарной форме:

var x = 1, y = 3;
alert( y - x ); // 2, бинарный минус

Сложение строк, бинарный +

Обычно при помощи плюса '+' складывают числа.

Но если бинарный оператор '+' применить к строкам, то он их объединяет в одну:

var a = "моя" + "строка";
alert( a ); // моястрока

Например:

alert( '1' + 2 ); // "12"
alert( 2 + '1' ); // "21"
alert( 2 - '1' ); // 1
alert( 6 / '2' ); // 3

Приоритет

В том случае, если в выражении есть несколько операторов – порядок их выполнения определяется приоритетом.

Из школы мы знаем, что умножение в выражении 2 * 2 + 1 выполнится раньше сложения, т.к. его приоритет выше, а скобки явно задают порядок выполнения. Но в JavaScript – гораздо больше операторов, поэтому существует целая таблица приоритетов.

Она содержит как уже пройденные операторы, так и те, которые мы еще не проходили. В ней каждому оператору задан числовой приоритет. Тот, у кого число больше – выполнится раньше. Если приоритет одинаковый, то порядок выполнения – слева направо.

Присваивание

Когда переменную чему-либо присваивают, например, x = 2 * 2 + 1 сначала выполнится арифметика, а уже затем – произойдёт присваивание =.

var x = 2 * 2 + 1;
alert( x ); // 5

Взятие остатка %

Оператор взятия остатка % интересен тем, что, несмотря на обозначение, никакого отношения к процентам не имеет.

Его результат a % b – это остаток от деления a на b.

Например:

alert( 5 % 2 ); // 1, остаток от деления 5 на 2
alert( 8 % 3 ); // 2, остаток от деления 8 на 3
alert( 6 % 3 ); // 0, остаток от деления 6 на 3

Инкремент/декремент: ++, --

Одной из наиболее частых операций в JavaScript, как и во многих других языках программирования, является увеличение или уменьшение переменной на единицу.

Для этого существуют даже специальные операторы:

·         Инкремент ++ увеличивает на 1:

·         var i = 2;
·         i++;      // более короткая запись для i = i + 1.
alert(i); // 3

·         Декремент -- уменьшает на 1:

·         var i = 2;
·         i--;      // более короткая запись для i = i - 1.
alert(i); // 1

Важно:

Инкремент/декремент можно применить только к переменной. Код 5++ даст ошибку.

Вызывать эти операторы можно не только после, но и перед переменной: i++ (называется «постфиксная форма») или++i («префиксная форма»).

Побитовые операторы

Побитовые операторы рассматривают аргументы как 32-разрядные целые числа и работают на уровне их внутреннего двоичного представления.

Эти операторы не являются чем-то специфичным для JavaScript, они поддерживаются в большинстве языков программирования.

Поддерживаются следующие побитовые операторы:

·         AND(и) ( & )

·         OR(или) ( | )

·         XOR(побитовое исключающее или) ( ^ )

·         NOT(не) ( ~ )

·         LEFT SHIFT(левый сдвиг) ( << )

·         RIGHT SHIFT(правый сдвиг) ( >> )

·         ZERO-FILL RIGHT SHIFT(правый сдвиг с заполнением нулями) ( >>> )

Они используются редко, поэтому вынесены в отдельную главу Побитовые операторы.

Сокращённая арифметика с присваиванием

Часто нужно применить оператор к переменной и сохранить результат в ней же, например:

var n = 2;
n = n + 5;
n = n * 2;

Эту запись можно укоротить при помощи совмещённых операторов, вот так:

var n = 2;
n += 5; // теперь n=7 (работает как n = n + 5)
n *= 2; // теперь n=14 (работает как n = n * 2)
alert( n ); // 14

Операторы сравнения и логические значения

В этом разделе мы познакомимся с операторами сравнения и с логическими значениями, которые такие операторы возвращают.

Многие операторы сравнения знакомы нам из математики:

·         Больше/меньше: a > b, a < b.

·         Больше/меньше или равно: a >= b, a <= b.

·         Равно a == b. Для сравнения используется два символа равенства '='. Один символ a = b означал бы присваивание.

·         «Не равно». В математике он пишется как , в JavaScript – знак равенства с восклицательным знаком перед ним!=.

Логические значения

Сравнение возвращает значение. Это значение имеет логический тип.

Существует всего два логических значения:

·         true – имеет смысл «да», «верно», «истина».

·         false – означает «нет», «неверно», «ложь».

Например:

alert( 2 > 1 ); // true, верно
alert( 2 == 1 ); // false, неверно
alert( 2 != 1 ); // true

Сравнение строк

Строки сравниваются побуквенно:

Сравнение разных типов

При сравнении значений разных типов, используется числовое преобразование. Оно применяется к обоим значениям.

Например:

alert( '2' > 1 ); // true, сравнивается как 2 > 1
alert( '01' == 1 ); // true, сравнивается как 1 == 1
alert( false == 0 ); // true, false становится числом 0
alert( true == 1 ); // true, так как true становится числом 1.

Строгое равенство

В обычном операторе == есть «проблема» – он не может отличить 0 от false:

alert( 0 == false ); // true

Та же ситуация с пустой строкой:

alert( '' == false ); // true

Для проверки равенства без преобразования типов используются операторы строгого равенства ===(тройное равно) и !==.

Если тип разный, то они всегда возвращают false:

alert( 0 === false ); // false, т.к. типы различны

Строгое сравнение предпочтительно, если мы хотим быть уверены, что «сюрпризов» не будет.

Несравнимый undefined

Значение undefined вообще нельзя сравнивать.

Взаимодействие с пользователем: alert, prompt, confirm

alert

Синтаксис:

alert(сообщение)

alert выводит на экран окно с сообщением и приостанавливает выполнение скрипта, пока пользователь не нажмёт «ОК».

alert( "Привет" );

prompt

Функция prompt принимает два аргумента:

result = prompt(title, default);

Она выводит модальное окно с заголовком title, полем для ввода текста, заполненным строкой по умолчанию default и кнопками OK/CANCEL.

Пользователь должен либо что-то ввести и нажать OK, либо отменить ввод кликом на CANCEL или нажатием Esc на клавиатуре.

Вызов prompt возвращает то, что ввёл посетитель – строку или специальное значение null, если ввод отменён.

confirm

Синтаксис:

result = confirm(question);

confirm выводит окно с вопросом question с двумя кнопками: OK и CANCEL.

Результатом будет true при нажатии OK и false – при CANCEL(Esc).

Например:

var isAdmin = confirm("Вы - администратор?");
alert( isAdmin );

Условные операторы: if, '?'

Иногда, в зависимости от условия, нужно выполнить различные действия. Для этого используется оператор if.

Оператор if

Например:

var year = prompt('В каком году появилась спецификация ECMA-262 5.1?', '');

if (year != 2011) alert( 'А вот и неправильно!' );

Неверное условие, else

Необязательный блок else («иначе») выполняется, если условие неверно:

var year = prompt('Введите год появления стандарта ECMA-262 5.1', '');

if (year == 2011) {

  alert( 'Да вы знаток!' );

} else {

  alert( 'А вот и неправильно!' ); // любое значение, кроме 2011

}

Несколько условий, else if

Бывает нужно проверить несколько вариантов условия. Для этого используется блок else if .... Например:

var year = prompt('В каком году появилась спецификация ECMA-262 5.1?', '');

if (year < 2011) {

  alert( 'Это слишком рано..' );

} else if (year > 2011) {

  alert( 'Это поздновато..' );

} else {

  alert( 'Да, точно в этом году!' );

}

В примере выше JavaScript сначала проверит первое условие, если оно ложно – перейдет ко второму – и так далее, до последнего else.

Оператор вопросительный знак „?“

Иногда нужно в зависимости от условия присвоить переменную. Например:

var access;

var age = prompt('Сколько вам лет?', '');

 

if (age > 14) {

  access = true;

} else {

  access = false;

}

alert(access);

Оператор вопросительный знак '?' позволяет делать это короче и проще.

Он состоит из трех частей:

условие ? значение1 : значение2

Проверяется условие, затем если оно верно – возвращается значение1, если неверно – значение2, например:

access = (age > 14) ? true : false;

Оператор '?' выполняется позже большинства других, в частности – позже сравнений, поэтому скобки можно не ставить:

access = age > 14 ? true : false;

 


 

Скачано с www.znanio.ru