1. Однофакторный оператор
1. Операторы самообслуживания и самообраза: разделены на передний и задний и задний костюм;
Pre-Type: ++ a;-a;
Post-Type: A ++; А ...;
пример:
Кода -копия выглядит следующим образом:
<script type = "text/javascript">
var a, b, i = 1, j = 1;
a = i ++;
b = ++ j;
Alert ("a ="+a+", i ="+i+", b ="+b+", j ="+j); // a = 1, i = 2, b = 2, j = 2
</script>
где a = i ++ эквивалентно a = i; i = i+1;
И b = ++ j, эквивалентно j = j+1; b = j;
2. Операторы UNARARY с добавлением и вычитанием: a =+i; a = -i;
Кода -копия выглядит следующим образом:
<script type = "text/javascript">
var a, b, i = 1, j = 1;
a =+i;
b = -J;
Alert ("a ="+a+", i ="+i+", b ="+b+", j ="+j); // a = 1, i = 1, b = -1, j = 1
</script>
Для целых чисел вычитание однозначного значения эквивалентна получению отрицательного числа.
2. Бит -оператор
1. BITWAYS non ~ (нет)
Нет, то есть обратное все числа в бинарной форме.
Распространенное использование: операция битов не является по сути отрицательным числом, а затем вычтите 1
2. Побитовое или | (ИЛИ)
Или, то есть все числа и целевые цифры проводятся куче или эксплуатируются в двоичной форме.
Общее использование: обычно используется для безусловного назначения бинарных чисел. Например: число | 1 эквивалентно нечетному номеру, ближайшему к текущему номеру.
3. Bitwise & & (и)
И то есть все числа и целевые цифры являются кусочка в двоичной форме.
Общее использование: обычно используется для бинарных битовых операций, например: число и 1, если результат составляет 0, это равномерное число, и если это 1, это нечетное число.
4. BITWASE XOR^ (XOR)
Исключительно или означает, что все числа сравниваются с целевым числом в бинарной форме. Только два числа отличаются, то есть только одна цифровая хранилища 1, когда 1 - 1, и возвращайте 0, если два числа одинаковы.
Общее использование: сама обратная работа операции XOR является, то есть конечный результат номера XOR не изменяется дважды. Можно использовать для простого шифрования или интерактивных численных операций.
5. Двигайтесь влево <<
Переместите влево, то есть перемещайте все числа влево в двоичной форме, переместите соответствующее количество цифр, перемещайте высокое положение (выбросить) и заполните нулевое положение в низком положении. Движение влево не повлияет на бит знака.
Математическая значимость: в предпосылке, что числа не переполняются, для положительных и отрицательных чисел, смещение левого, эквивалентное умножению на 2 на мощность 1, а смещение левых n битов эквивалентно умножению на 2 к силе n.
6. Двигайтесь вправо
6.1 Подписанный правый сдвиг >>: то есть переместите все значения вправо в двоичной форме, но сохраните биты знака.
Математическая значимость: в предпосылке, что числа не переполняются, для положительных и отрицательных чисел, смещение правого, эквивалентное делению на 2 на первую силу, а перемещение правых n битов эквивалентно делениям на 2 на n мощности.
6.2 Неподписанный правый сдвиг >>>: то есть переместите все значения, включая биты знаков, справа в двоичной форме.
Для положительных чисел результаты одинаковы;
Для отрицательных чисел, поскольку отрицательные числа представлены в их абсолютном дополнении, результат неподписанного правого сдвига будет очень большим.
3. Логический оператор
1. Логический не логический!
Логика не полезна! Указывает, что любой тип значения с Ecmascript может быть применен, а логическое не операция возвращает логическое значение (true/false). Оператор сначала преобразует свой операнд в логическое значение, а затем проводит его.
! ! Эквивалент функции Boolean ().
Набор правил для функции преобразования Boolean ().
Значение, преобразованное в истину, преобразуется в false
BooleAnttrueFalse
Строка любой непустых строки "" (пустая строка)
Число любого ненулевого числового значения (включая бесконечность) 0 и NAN
Объект любой объект NULL
Неопределенный без неопределенного
2. Логика и &&
Есть два операнда для логики, и есть два операнда.
Логика и операции могут быть применены к любому типу операнда, а не только на логиках. Когда операнд не является логическим, логика и операции не обязательно возвращают логический; В настоящее время это следует следующим правилам:
1. Если первый операнд является объектом, возвращается второй операнд;
2. Если второй операнд является объектом, объект будет возвращен только в случае оценки результата первого операнда истинности;
3. Если оба оператора являются объектами, возвращается второй операнд; Следуйте первое правило.
4. Если операнд нулевой, верните NULL;
5. Если операнд - НАН, верните Нэн;
6. Если операнд не определен, не определен.
Логика и операции-это операции с коротким замыканием, то есть, если первый операнд может определить результат, то второй операнд не будет оцениваться снова. (Это можно понять как две внутренние операции возврата). Следовательно, когда конфликт с правилами 4, 5 и 6, приведен принцип операции короткого замыкания.
Кода -копия выглядит следующим образом:
var nul = null;
var na = nan;
тест var;
тест = na && nul;
document.write (тест); // НАН
Кода -копия выглядит следующим образом:
var nul = null;
var na = nan;
тест var;
тест = nul && na;
document.write (тест); //нулевой
3. логично или ||
Логично или имеет два операнда.
Логическая или аналогичная логике, операции могут применяться к любому типу операнда, а не только на логиках. В случае, когда операнд не является логическим, логика или операция не обязательно возвращает логическое; На этом этапе это следует следующим правилам:
1. Если первый операнд является объектом, возвращается первый операнд;
2. Если результат первого операнда является ложным, второй операнд возвращается;
3. Если оба оператора являются объектами, возвращается первый операнд, следуя первым правилу.
4. Если оба операнда являются нулевыми, верните NULL;
5. Если оба операнда являются NAN, верните NAN;
6. Если оба операнда не определены, не определяется.
Логика или операция-это операция короткого замыкания, то есть, если первый результат операнда верно, то второй операнд больше не будет оцениваться.
Мы можем использовать это свойство логики или не присвоить нулевые или неопределенные значения переменным
Например: var myObject = firstObject || secondObject
Если FirstObject не является нулевым, FirstObject назначается MyObject, в противном случае значение SecondObject присваивается MyObject.
Приведенный выше контент посвящен этой статье, я надеюсь, что это будет полезно всем