Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Обработчики событий в JavaScript.doc
Скачиваний:
2
Добавлен:
16.11.2019
Размер:
251.9 Кб
Скачать

Операции Присвоения

Операция присвоения присваивает значение левому операнду на основе значения правого операнда.

Реализованы в

JavaScript 1.0

Версия ECMA

ECMA-262

Базовая операция присвоения это равенство (=), которая присваивает значение правого операнда левому операнду. То есть x = y присваивает значение y переменной x. Другие операции присвоения являются обычно сокращениями стандартной операции, как показано в таблице:

Таблица 5.2 Сокращённые Операции Присвоения

Сокращённая операция

Значение

x += y

x = x + y

x -= y

x = x - y

x *= y

x = x * y

x /= y

x = x / y

x %= y

x = x % y

x <<= y

x = x << y

x >>= y

x = x >> y

x >>>= y

x = x >>> y

x &= y

x = x & y

x ^= y

x = x ^ y

x |= y

x = x | y

В нестандартных ситуациях оператор присвоения не идентичен значению из колонки "Значение" Таблицы 5.2. Если левый операнд операции присвоения сам содержит операцию присвоения, он вычисляется только однократно. Например:

a[i++] += 5 //i вычисляется только один раз a[i++] = a[i++] + 5 //i вычисляется дважды

Операции Сравнения

Операция сравнения сравнивает операнды и возвращает логическое значение на основе того, является ли сравнение true.

Реализованы в

JavaScript 1.0

JavaScript 1.3: добавлены операции === и !==

Версия ECMA

ECMA-262 содержит все операции сравнения, за исключением === и !==

Операнды могут быть числами или строками. Строки сравниваются на основе стандартного лексикографического (словарного) порядка с использованием Unicode-значений.

Булево значение возвращается как результат сравнения.

  • Две строки равны, если они имеют одинаковые последовательности символов, одинаковые размеры и одинаковые символы в соответствующих позициях.

  • Два числа равны, если они равны численно (имеют одинаковые числовые значения). NaN не равно ничему, включая само NaN. Положительные и отрицательные нули равны.

  • Два объекта равны, если они ссылаются на один Object.

  • Два Булевых операнда равны, если они оба true или оба false.

  • Типы Null и Undefined равны.

В таблице дано резюме по операциям сравнения.

Таблица 5.3 Операции Сравнения

Операция

Описание

Примеры, возвращающие true1

Равно (==)

Возвращает true, если операнды равны. Если операнды имеют разные типы, JavaScript пытается конвертировать операнды в подходящий тип для выполнения сравнения.

3 == var1 "3" == var1 3 == '3'

Не равно (!=)

Возвращает true, если операнды не равны. Если операнды имеют разные типы, JavaScript пытается конвертировать операнды в подходящий тип для выполнения сравнения.

var1 != 4 var1 != "3"

Строго равно (===)

Возвращает true, если операнды равны и одного типа.

3 === var1

Строго не равно (!==)

Возвращает true, если операнды не равны и/или разных типов.

var1 !== "3" 3 !== '3'

Больше (>)

Возвращает true, если левый операнд больше правого.

var2 > var1

Больше или равно (>=)

Возвращает true, если левый операнд больше правого или равен ему.

var2 >= var1 var1 >= 3

Меньше (<)

Возвращает true, если левый операнд меньше правого.

var1 < var2

Меньше или равно (<=)

Возвращает true, если левый операнд меньше правого или равен ему.

var1 <= var2 var2 <= 5

1 В этих примерах принимается, что var1 имеет значение 3, а var2 имеет значение 4.