Предыдущие слова
Большинство операторов в JavaScript представлены знаками препинания, а некоторые представлены ключевыми словами. Их синтаксис краткий, но их число довольно большое. Операторы всегда следуют за фиксированным синтаксисом. Только понимание и освоение этого содержимого можно правильно использовать. Эта статья в основном представляет обзор синтаксиса операторов JavaScript
Количество операндов
В JavaScript есть 46 операторов. Если вы классифицируете их по количеству операндов, большинство из них являются бинарными операторами. Их операнды - два, и они объединяют два выражения в сложные выражения.
1 + 2; true || ЛОЖЬ;
Унарный оператор в JavaScript преобразует одну экспрессию в другое слегка сложное выражение, в основном включающее следующее 9:
++ - - + ~! Удалить тип voida ++; typeof true;
JavaScript имеет только один тройной оператор, который является оператором условного суждения?:, Который объединяет три выражения в одно выражение
2> 1? 2: 1;
Приоритет
Приоритет оператора контролирует порядок выполнения операторов, и выполнение операторов с высоким приоритетом всегда предшествует операторам с операторами с низким приоритетом.
46 операторов делятся на 14 уровней приоритета, от высокого до низкого:
++ - - + ~! Удалите TypeOf void * / % + - << >> >>> <<=>> = exanteof in ==! ===! == & ^ | && ||: = * = / = % = + = - = & = ^ = << = >> = >>> =,
Из этих 14-уровневых приоритетных уровней приоритета оператора мы видим:
Unary Operator> Арифметический оператор> Оператор сравнения> Логический оператор> Оператор Tripartite> Оператор назначения> Оператор COMPA
[Примечание] Оператор по логической инверсии принадлежит к неарию оператору и имеет самый высокий приоритет
пример
! 2 <1 && 4*3+1;
Вышеупомянутая ситуация более сложна, постепенно разлагает порядок работы
Сначала рассчитайте неарию оператора!,! 2; // Неверно
// тогда выражение становится ложным <1 && 4*3 + 1;
Рассчитайте арифметический оператор 4*3+1; // 13
// тогда выражение становится ложным <1 && 13;
Рассчитайте оператор сравнения <, false <1; // true
// тогда выражение становится: true && 13; // 13
Клопки могут быть использованы для насильственного указания порядка операций
2+3*5; // 17 (2+3)*5; // 25;
Связывание
У операторов есть два вида связывающих свойств, один связан слева направо, с меткой L, а другой связан справа налево, с Mark R. Связывание определяет порядок операций в множественных выражениях оператора с тем же приоритетом.
Большинство операторов имеют комбинацию слева направо, только унарные операторы, условные операторы и операторы назначения имеют комбинацию справа налево.
w = x + y + z; // эквивалентно: w = ((x + y) + z);
w = x = y = z; // эквивалентное: w = (x = (y = z));
Q = a? Б: С? D: е? F: g; // эквивалентно: q = a? B: (C? D: (E? F: G));
Приоритет и связывание операторов определяют их порядок операций в сложных выражениях, но когда суб -фрагменты оказывают взаимное влияние, порядок изменится.
пример
a = 1; b = a +++a-- * a ++;
Сначала проанализируйте выражение, и в соответствии с приоритетом приоритет, оператор приращения, оператор умножения, оператор добавления и оператор назначения соответственно рассчитывается.
Сначала рассчитайте первое A ++; // Результат 1, A IS 2
// выражение становится b = 1+a-- * a ++;
Рассчитайте-; // Результат 2, A-1
// выражение становится b = 1+2 * a ++;
Рассчитайте второй a ++; // Результат - 1, A - 2
// выражение становится B = 1 + 2 * 1;
Итак, в конечном итоге a = 2; b = 3;
a = 1; b = a +++a-- * a ++; console.log (a, b); // 2 3
// аналогично a = 1; b = a-- * a +++a ++; console.log (a, b); // 2,1
тип
Некоторые операторы могут действовать по любому типу данных, но они все еще хотят, чтобы их операнды были данными указанного типа, и большинство операторов возвращают значение определенного типа. В таблице правил оператора ниже стрелка - это тип оператора оператора, а стрелка - это тип результата операции после того, как стрелка является типом результата операции.
【Lvalue】
LVALUE - это древний термин, который означает, что выражения могут появляться только на левой стороне оператора.
В JavaScript, переменные, свойства объекта и элементы массива - все это
Оператор «Оператор» оператора приращения ++, оператор уменьшения- и операторы назначения- lvalue
var a = 3; a ++; // 33-; // сообщать об ошибке ({}). a+= '1'; // 'undefined1''test'-= 'test'; // сообщать об ошибкеТаблица правил оператора
Оператор Тип типа ++ Приращение lval-> num- Уменьшение lval-> num-обратное num-> num+ преобразовать в число num-> num ~ обратное int-> int! Логический не-бул-> Booldelete Delete Attribute Attribute lval-> booltypeoof detection type num->num******************************************************************+ - Add and subtract num, num->num+ String concatenation str, str->str******************************************************<< left shift int, int->int>> signed right shift int, int->int>>> Unsigned right shift int,int->int*********************************************************************< <= > >= Compare number order num,num->bool< <= > >= Compare alphabetical order str,str->boolinstanceof Test object class obj,func->boolin Test attribute Str, Obj-> bool *************************************************************************************************************************************************************************************************************************************** any-> bool ************************************************************* int-> int ***************************************** Логика или какой-либо, что-нибудь-> любой *************************************************** Bool, любой, любой-> любой ******************************************************************************************************* *************************************************** • *************************************************** • *************************************************** • *************************************************** • *************************************************** • *************************************************** • ***************************************************** •
Вышеупомянутый всесторонний обзор грамматики операторов JavaScript - это весь контент, которым я делюсь с вами. Я надеюсь, что вы можете дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.