к банкам данных Интернет   к оглавлению   к алгоритмизации и языкам   к высокоуровневым языкам   к визуальным средам

JavaScript Выражения и Операторы


Выражения

Выражение - любой имеющий силу набор литералов, переменных, операторов, и выражений, которые вычисляю простое значение. Значение может быть число, строка, или логическое значение. Существует два типа выражений: которые присваивают значение переменной, и которые вычисляют выражение без присваивания его переменной. Например, выражение

x = 7

Является выражением, которое приписывает x значение 7. Это выражение вычисляет 7. Такие выражения используют операторы присвоения. С другой стороны, выражение

3 + 4

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

JavaScript имеет следующие выражения:

Язык JavaScript включает в себя значение null для переменных, которым не присвоено никакое значение. Любая попытка использовать переменную, имеющую значение null, в вычисляемом выражении приводит к ошибке, за исключением случая присваивания значения null переменной, например timerID = null.


Условные Выражения

Условное выражение может иметь одну из двух значений, основанных на условии. Синтаксис

 (Условие)? Val1: val2

Если условие истинно, то выражение имеет значение val1, иначе имеет значение val2.

Например,

status = (age >= 18) ? "adult" : "minor" Это утверждение присваивает значение "adult" переменной status, если age равно 18 или больше чем 18. Иначе, приписывает значение "minor" переменной status.

Операторы Присваивания (=, + =, - =, * =, / =)

Оператор присваивает значение левому операнду, основанному на значении правого операнда. Основной оператор присваивания равенство (=), который присваивает значение правого операнда левому операнду. То есть x = y приписывает значение y к x.

Другие операторы - стенография для стандартных арифметических действий выглядят следующим образом:

Имеются дополнительные операторы присваивания для побитовых операторов


Операторы

JavaScript имеет арифметические, строковые и логические операторы. Имеет, и бинарные и унарные операторы. Бинарный оператор требует двух операндов, унарный перед оператором и одним после оператора:

Operand1 operator operand2

Например, 3 + 4 or x * y

Унарный оператор требует одного операнда, до или после оператора:

operator operand

Или

operand operator

Например x ++ или ++ x.


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

Арифметические операторы принимают численные значения (литералы или переменные) как их операнды и возвращают числовое значение.

Стандартные Арифметические Операторы

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

Модуль (%)

Оператор модуля используется следующим образом:
Var1 % var2

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

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

Оператор инкримент используется следующим образом:
var++ или ++var

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

Например, если x - 3, то утверждение

y = x ++

Увеличивает x до 4 и присваивает y равное 3.

Если x - 3, то утверждение

y = ++ x

Увеличивает x до 4 и присваивает y равное 4.

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

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

var-- или --var

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

Например, если x - 3, то утверждение

y = x --

Уменьшает x до 2 и присваивает y равное 3.

Если x - 3, то утверждение

y = -- x

Уменьшает x до 2 и присваивает y равное 2.

Унарное вычитание (-)

Унарный оператор вычитания должен предшествовать его операнду. Например,

x = -x

Вычитает значение x; например, если бы x был равен 3, то стал бы равным -3.


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

Побитовые операторы воздействуют на операнды как набор битов (0 и 1). Например, десятичное число 9 имеет двоичное представление 1001. Побитовые операторы выполняют действия на таких двоичных представлениях, но они возвращают стандартное JavaScript численное значение.

Побитовые Логические операторы

Побитовые логические операторы работают следующим образом:

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

Например, бинарное представление 9 - 1001, и бинарное представление 15 - 1111. Так, когда побитовые операторы применяются к этим значениям, то результаты выглядят следующим образом:

Побитовые Операторы сдвига

Побитовые операторы сдвига:

Операторы сдвига присваивает два операнда: первый - количество на которое будет сдвинуто, и второй определяет число битовых положений, которыми первый операнд должен быть сдвинут. Направление действия сдвига управляется использующим оператором.

Операторы сдвига преобразуют операнды к 32-битное целое число, и возвращают результат того же самого типа что и левый оператор.

Сдвит влево (<<)

Сдвиг влево перемещает все биты влево на количество позиций, указанных в правой части выражения, заполняя освободившиеся позиции нулямию

Например, 9<<2 возвращает 36, потому что 1001 сдвигается на 2 бита влево и становится равным 100100, что равно в дисятеричной системе 36.

Сдвиг вправо (>>)

Cдвиг вправо заполняет освободившиеся слева позиции значением самого левого бита исходного значения.

Например, 9 >> 2 возвращает 2, потому что 1001 сдвигается на два бита вправо и становится 10, что равно в дисятеричной системе 2. Аналогично, -9 >> 2 возвращает -3, потому что знак сохраняется.

Сдвиг вправо с заполнением нулями (>>>)

Сдвиг вправо с заполнением нулями работает аналогично сдвигу влево, только в противоположном направлении.

Например, 19>>>2 возвращает 4, потому что 10011 сдвигается на два бита вправо и становятся 100, что равно в дисятеричной системе 4. Для postive чисел, ноль - заполняет правый сдвиг, и распространяющийся знак сдвигается вправо выдает тот же самый результат.


Логические операторы

Логические операторы принимают логические (Булевы) значения как операнды. Они возвращают логическое значение. Логические значения true(истина) и false(ложь).

И (&&)

Использование: expr1 && Expr2

Логический "и" возвращает оператор true, если оба логических выражения и expr1 и expr2 true. Иначе, возвращается false.

Или (||)

Использование: expr1 || expr2

Логический "или" возвращает оператор true, если хотя бы одно из логических выражений или expr1 или expr2 true. Если и expr1 и expr2 false, то это возвращается false.

Нет (!)

Использование:! Expr

Логический оператор "нет" - унарный оператор, который отрицает выражение операнда expr. То есть если expr true, то возвращает false, и если expr false, то возвращает true.

Вычисление...

Так как логические выражения вычисляются слева направо, то они проверены для возможного вычисления "короткой цепи", используя следующее правило:

Логическое правило гарантирует, что эти вычисления будут всегда правильными.


Операторы Сравнения (==, >, >, =<, <=,!=)

Оператор сравнения сравнивает его операнды и возвращает логическое значение, основанное на том, является ли сравнение true или false. Операнды могут быть численными или строковыми значениями. Когда используется на строковых значениях, то сравнения основывается на стандартном лексикографическом порядке.

Операторы:


Операторы Строки

В дополнение к операторам сравнения, которые могут использоваться на значениях строк, оператор конкатенации (+), суммирует две строки вместе, возвращая другую строку, которая является соединением двух строк операнда. Например,

"my " + "string"

Возвращает строку

"my string"

Оператор происвоения += может также использоваться, чтобы конкатенировать строки. Например, если переменнай mystring - строка, которая имеет значение "alpha", затем выражение

 Mystring + = "bet"
Вычисляет как "alphabet" и приписывает это значение mystring.

Старшинство Оператора

Старшинством операций называется порядок, в котором выполняются операции в сложных выражениях. Операции на одном уровне имеют равное старшинство. Вычисления производятся слева направо для всех бинарных операций, начиная с операций, перечисленных в верхней части списка, и заканчивая операциями в нижней части.

Старшинство операторов, от самого низкого до самого высокого будут следующие:

Запятая,
Присвоение =+=-=*=/=%=<<=>>=>>>=&=^=|=
Выбор по условию ? :
Логическое ИЛИ ||
Логическое И &&
Побитовы ИЛИ |
Побитовый исключающее ^
Побитовое И &
Неравенство !=
Равенство/Неравенство == !=
Сравнение <<=>> =
Побитовый сдвиг << >> >>>
Сложение/вычитание + -
Умножите/деление * / %
Отрицание/дополнение/унарный минус/инкримент/дикримент ! ~ - ++ --
Вызов, передача параметров () [].

к банкам данных Интернет   к оглавлению   к алгоритмизации и языкам   к высокоуровневым языкам   к визуальным средам
Знаете ли Вы, в чем фокус эксперимента Майкельсона?

Эксперимент А. Майкельсона, Майкельсона - Морли - действительно является цирковым фокусом, загипнотизировавшим физиков на 120 лет.

Дело в том, что в его постановке и выводах произведена подмена, аналогичная подмене в школьной шуточной задачке на сообразительность, в которой спрашивается:
- Cколько яблок на березе, если на одной ветке их 5, на другой ветке - 10 и так далее
При этом внимание учеников намеренно отвлекается от того основополагающего факта, что на березе яблоки не растут, в принципе.

В эксперименте Майкельсона ставится вопрос о движении эфира относительно покоящегося в лабораторной системе интерферометра. Однако, если мы ищем эфир, как базовую материю, из которой состоит всё вещество интерферометра, лаборатории, да и Земли в целом, то, естественно, эфир тоже будет неподвижен, так как земное вещество есть всего навсего определенным образом структурированный эфир, и никак не может двигаться относительно самого себя.

Удивительно, что этот цирковой трюк овладел на 120 лет умами физиков на полном серьезе, хотя его прототипы есть в сказках-небылицах всех народов всех времен, включая барона Мюнхаузена, вытащившего себя за волосы из болота, и призванных показать детям возможные жульничества и тем защитить их во взрослой жизни. Подробнее читайте в FAQ по эфирной физике.

Последнее обновление: суббота 23 ноября 2024 г.
Bourabai Research Institution home page

Bourabai Research - Технологии XXI века Bourabai Research Institution БОРОВСКОЕ ИССЛЕДОВАТЕЛЬСКОЕ УЧРЕЖДЕНИЕ - Технологии XXI века