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

Использование Операций Равенства

Стандартные операции равенства (== и !=) сравнивают два операнда без учёта типа. Операции строгого равенства (=== и !==) выполняют сравнение операндов одного типа. Используйте операции строгого равенства если операнды и значения обязаны иметь специфический тип, а также если имеет значение определённый тип операндов. Иначе используйте стандартные операции равенства, которые дают возможность сравнивать два операнда, даже если они имеют разные типы.

Если необходима конвертация типов, JavaScript конвертирует операнды String, Number, Boolean или Object так:

  • При сравнении числа и строки - строка конвертируется в число. JavaScript пытается конвертировать числовой литерал строки в значение типа Number. Сначала математическое значение получается из числового литерала строки. Затем это значение округляется до ближайшего значения типа Number.

  • Если один из операторов имеет тип Boolean, Boolean-операнд конвертируется в 1, если он true, и в +0, если он false.

  • Если объект сравнивается со строкой или числом, JavaScript пытается вернуть значение по умолчанию для объекта. Делается попытка конвертировать объект в примитивное значение, String в Number, с использованием методов valueOf и toString объекта. Если попытка конвертации терпит неудачу, генерируется ошибка времени выполнения.

Обратная Совместимость

Поведение стандартных операций сравнения (== и !=) зависит о версии JavaScript.

JavaScript 1.2. Стандартные операции сравнения (== и !=) не выполняют конвертацию типов перед выполнением сравнения. Операции строго равенства (=== и !==) недоступны.

JavaScript 1.1 и более ранние версии. Стандартные операции сравнения (== и !=) выполняют конвертацию типов перед выполнением сравнения. Операции строго равенства (=== и !==) недоступны.

Арифметические Операции

Арифметические операции принимают в качестве операндов числовые значения (литералы или переменные) и возвращают единственное числовое значение. Стандартные арифметические операции: сложение (+), вычитание (-), умножение (*) и деление (/).

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

JavaScript 1.0

Версия ECMA

ECMA-262

Эти операции работают так же, как и в большинстве других языков программирования, за исключением операции /, которая возвращает в JavaScript результат (с плавающей точкой) деления, а не округлённый результат, как в C или Java. Например:

1/2 //в JavaScript возвращает 0.5 1/2 //в Java возвращает 0

% (Modulus/целочисленный остаток)

Операция modulus используется так:

var1 % var2

Операция modulus возвращает первый операнд modulo второй операнд, то есть var1 modulo var2, как в вышеприведённом операторе, где var1 и var2 это переменные. Функция modulo это целочисленный остаток от деления var1 на var2. Например, 12 % 5 возвращает 2.

++ (Инкремент)

Операция инкремента выполняется так:

var++ или ++var

Эта операция выполняет инкремент (прибавляет 1) операнда и возвращает его значение. Если это постфикс, когда операция находится после операнда (например, x++), возвращается значение, которое было до выполнения инкремента. Если используется префикс (например, ++x), возвращается значение, полученное после выполнения инкремента.

Например, если x равен 3, то оператор y = x++ устанавливает в y 3 и выполняет инкремент x до 4. Если x равен 3, то оператор y = ++x выполняет инкремент x до 4 и устанавливает в переменную y значение 4.

-- (Декремент)

Операция декремента используется так:

var-- или --var

Эта операция выполняет декремент (вычитает 1) операнда и возвращает его значение. Если это постфикс, когда операция находится после операнда (например, x--), возвращается значение, которое было до выполнения декремента. Если используется префикс (например, --x), возвращается значение, полученное после выполнения декремента.

Например, если x равен 3, оператор y = x-- устанавливает в y значение 3 и выполняет декремент x до 2. Если x равен 3, оператор y = --x выполняет декремент x до 2 и устанавливает в переменную y значение 2.