操作符

操作符分为算术运算符、位操作符、关系操作符和相等操作符

1、一元操作符

var age = 29;
++age; //前置递加
--age;//前置递减
age++;//后置递加
age--;//后置递减

2、位操作符

(1)按未非~

var num1 = 25;
var num2 = ~num1;
alert(num2);// -26

位非操作的本质:操作数的负值减1

(2)按位与&

(3)按位或 |

(4)按位异或 ^

(5)左移<<

(6)有符号的右移>>

(7)无符号的右移>>>

3、布尔操作符

(1)逻辑非 !

!x 用于表达 x 表达式的运行结果转换成布尔值(Boolean)之后取反的结果。!!x 则表示取 x 表达式的运行结果的布尔值。

(2)逻辑与 &

x && y 如果 x 表达式的运行交过转换成 Boolean 值为 false 则不运行表达式 y 而直接返回 x 表达式的运行结果。相反,如果 x 表达式的运行交过转换成 Boolean 值为 true 则运行表达式 y 并返回 y 表达式的运行结果。

var a = 0 && (function(){return 1 + 1;})(); // 0
var b = 1 && (function(){return 1 + 1;})(); // 2

(3)逻辑或  ||

x || y 如果 x 表达式的运行结果转换为 Boolean 值为 true,则不运行 表达式 y 而直接返回表达式 x 的运算结果。(与 && 方式相反)

var a = 0 || (function(){return 1 + 1;})(); // 2
var b = 1 || (function(){return 1 + 1;})(); // 1

4、条件操作符

var max = (num > num2) ? num1 : num2;

5、逗号操作符

var num1 = 1,num2 = 2,num3 = 3;

逗号操作符可以用于声明多个变量,但除此之外,逗号还可以赋值,用于赋值时逗号操作符总会返回表达式中的最后一项。

6、元算符优先级

  • + - * / 高于 &&
  • * / 高于 + -
  • && 高于 ?:
  • () 内优先级高于之外
原文地址:https://www.cnblogs.com/wwjdx/p/6295715.html