Арифметические операторы

+ - * / % ++ -- Сложение Вычитание Умножение Деление Деление по модулю (остаток от деления) Увеличение на 1 Уменьшение на 1

 

à Сложение (+).Оператор «плюс» складывает числовые операнды или выполняет конкатенацию строк. Если одним из операндов является строка, другой операнд преобразуется в строку и выполняется конкатенация. Операнды объекты преобразуются в числа или строки, которые могут быть сложены или конкатенированы.

à Вычитание (-).Когда «минус» используется в качестве двухместного оператора, он выполняет вычитание второго операнда из первого. Если указаны нечисловые операнды, то оператор пытается преобразовать их в числа.

à Умножение (*).Оператор * умножает два своих операнда. Нечисловые операнды он пытается преобразовать в числа.

à Деление (/).Оператор / делит первый операнд на второй. Нечисловые операнды он пытается преобразовать в числа. Те, кто привык к языкам программирования, различающим целые и вещественные числа, могут ожидать получения целочисленного результата при делении одного целого на другое. Однако в JavaScript все числа вещественные, поэтому результатом любого деления является значение с плавающей точкой. Операция 5/2 дает 2.5, а не 2. Результат деления на ноль – плюс или минус бесконечность, а 0/0 дает NaN.

Примеры:

х = "Вася" // значение переменной х равно "Вася"

у = "Маша“ // значение переменной у равно "Маша"

z = х + " " +у // значение переменной z равно "Вася Маша"

z = х + 5 // значение переменной z равно "Вася5"

п = "20" + 5 /* значение переменной п равно "205",

а не 30 или "30" */

true + true // возвращает 2

true + false // возвращает 1

true * true // возвращает 1

true/false /* возвращает Infinity (Неопределенность,

так как на ноль делить нельзя) */

true + 5 // возвращает 6

false + 5 // возвращает 5

true * 5 // возвращает 5

true / 5 // возвращает 0.2

"Вася" + true // возвращает "Bacяtrue"

"5" + true // возвращает “5true"

 

à Деление по модулю (%).Оператор % вычисляет остаток, получаемый при целочисленном делении первого операнда на второй. Если заданы нечисловые операнды, то оператор пытается преобразовать их в числа. Знак результата совпадает со знаком первого операнда, например 5 % 2 дает 1. Оператор деления по модулю обычно применяется к целым операндам, но работает и для вещественных значений. Например, -4.3%2.1 дает результат -0.1.

à Унарный минус (-).Когда минус используется в качестве унарного оператора, он указывается перед одиночным операндом и выполняет унарную операцию смены знака.

à Унарный плюс (+).Для симметрии с оператором «унарный минус» в JavaScript также имеется оператор «унарный плюс». При помощи этого оператора можно явно задать знак числовых литералов, если вы считаете, что это сделает текст программы более понятным:

var profit = +1000000;

В таком коде оператор «плюс» ничего не делает; результатом его работы является значение его аргумента. Однако нечисловые аргументы он преобразует в числа. Если аргумент не может быть преобразован, возвращается NaN.

à Инкремент (++).Этот оператор инкрементирует (т. е. увеличивает на единицу) свой единственный операнд, который должен быть переменной, элементом массива или свойством объекта. Если значение этой переменной, элемента массива или свойства не является числом, оператор сначала пытается преобразовать его в число.

Точное поведение этого оператора зависит от его положения по отношению к операнду. Если поставить его перед операндом (префиксный оператор инкремента), то к операнду прибавляется 1, а результатом является увеличенное значение операнда. Если же он размещается после операнда (постфиксный оператор инкремента), то к операнду прибавляется 1, однако результатом является первоначальное значение операнда.

Если увеличиваемое значение не является числом, оно в процессе вычисления преобразуется в число. Например, следующий код делает переменные i и j равными 2:

i = 1;

j = ++i;

А этот устанавливает i в 2, а j в 1:

i = 1;

j = i++;

Данный оператор в обеих своих формах чаще всего применяется для увеличения счетчика, управляющего циклом. Обратите внимание: нельзя вставлять перевод строки между префиксным или постфиксным оператором инкремента и его операндом, поскольку точки с запятой в JavaScript вставляются автоматически. Если это сделать, интерпретатор JavaScript будет рассматривать операнд как полноценную инструкцию и вставит после него точку с запятой.

à Декремент (--).Этот оператор декрементирует (т. е. уменьшает на 1) свой единственный числовой операнд, который может представлять собой переменную, элемент массива или свойство объекта. Если значение этой переменной, элемента или свойства не является числом, оператор сначала пытается преобразовать его в число. Как и для оператора ++, точное поведение оператора -- зависит от его положения относительно операнда. Будучи поставленным перед операндом, он уменьшает операнд и возвращает уменьшенное значение, после операнда – уменьшает операнд, но возвращает первоначальное значение.

 








Дата добавления: 2016-01-09; просмотров: 974;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.007 сек.