5.JavaScript运算符参考一览表

1.赋值运算符

赋值(Assignment)x = yx = y
加法赋值(Addition assignment)x += yx = x + y
减法赋值(Subtraction assignment)x -= yx = x - y
乘法赋值(Multiplication assignment)x *= yx = x * y
除法赋值(Division assignment)x /= yx = x / y
求余赋值(Remainder assignment)x %= yx = x % y
求幂赋值(Exponentiation assignment)x **= yx = x ** y
左移位赋值(Left shift assignment)x <<= yx = x << y
右移位赋值(Right shift assignment)x >>= yx = x >> y
无符号右移位赋值(Unsigned right shift assignment)x >>>= yx = x >>> y
按位与赋值(Bitwise AND assignment)x &= yx = x & y
按位异或赋值(Bitwise XOR assignment)x ^= yx = x ^ y
按位或赋值(Bitwise OR assignment)x |= yx = x | y

2.比较运算符

运算符描述返回true的示例
等于 Equal (==)如果两边操作数相等时返回true。3 == var1"3" == var13 == '3'
不等于 Not equal (!=)如果两边操作数不相等时返回truevar1 != 4
var2 != "3"
全等 Strict equal (===)两边操作数相等且类型相同时返回true。 参见 Object.is and sameness in JS.3 === var1
不全等 Strict not equal (!==)两边操作数不相等或类型不同时返回true。var1 !== "3"
3 !== '3'
大于 Greater than (>)左边的操作数大于右边的操作数返回truevar2 > var1
"12" > 2
大于等于 Greater than or equal (>=)左边的操作数大于或等于右边的操作数返回truevar2 >= var1
var1 >= 3
小于 Less than (<)左边的操作数小于右边的操作数返回truevar1 < var2
"2" < 12
小于等于 Less than or equal (<=)左边的操作数小于或等于右边的操作数返回truevar1 <= var2
var2 <= 5

3.算数运算符

OperatorDescriptionExample
求余(%)二元运算符. 返回相除之后的余数.12 % 5 返回 2。
自增(++)一元运算符. 将操作数的值加一. 如果放在操作数前面 (++x), 则返回加一后的值; 如果放在操作数后面 (x++), 则返回操作数原值,然后再将操作数加一.var x=3;console.log(++x); //4console.log(x); //4var y=3;console.log(y++); //3console.log(y); //4
自减(--)一元运算符. 将操作数的值减一. 前后缀两种用法的返回值类似自增运算符.var x=3; console.log(–x); //输入2,x=2var y=3;console.log(y–);//输出3,x=2;
一元负值符(-)一元运算符,返回操作数的负值.var x=3; console.log(-x); //输入-3
一元正值符(+)一元运算符, 如果操作数在之前不是number,试图将其转换为numberconsole.log( +'3' ); // 3console.log( '3' ); // '3'console.log(+true); // 1
指数运算符(**)计算 base(底数) 的 exponent(指数)次方, 表示为baseexponent2 ** 3 returns 8.
10 ** -1 returns 0.1.

4.位运算符

OperatorUsageDescription
按位与 ANDa & b在a,b的位表示中,每一个对应的位都为1则返回1, 否则返回0.
按位或 ORa | b在a,b的位表示中,每一个对应的位,只要有一个为1则返回1, 否则返回0.
按位异或 XORa ^ b在a,b的位表示中,每一个对应的位,两个不相同则返回1,相同则返回0.
按位非 NOT~ a反转被操作数的位。
左移 shifta << b将a的二进制串向左移动b位,右边移入0.
算术右移a >> b把a的二进制表示向右移动b位,丢弃被移出的所有位.(译注:算术右移左边空出的位是根据最高位是0和1来进行填充的)
无符号右移(左边空出位用0填充)a >>> b把a的二进制表示向右移动b位,丢弃被移出的所有位,并把左边空出的位都填充为0

5.逻辑运算符

运算符范例描述
逻辑与 (&&)expr1 && expr2(逻辑与) 如果expr1能被转换为false,那么返回expr1;否则,返回expr2。因此,&&用于布尔值时,当操作数都为true时返回true;否则返回false.
逻辑或 (||)expr1 || expr2(逻辑或) 如果expr1能被转换为true,那么返回expr1;否则,返回expr2。因此,||用于布尔值时,当任何一个操作数为true则返回true;如果操作数都是false则返回false。
逻辑非 (!)!expr(逻辑非) 如果操作数能够转换为true则返回false;否则返回true。

6.字符串运算符

除了比较操作符,它可以在字符串值中使用,连接操作符(+)连接两个字符串值相连接,返回另一个字符串,它是两个操作数串的结合。

例如,

console.log("my " + "string"); // console logs the string "my string".

7.条件(三元)运算符

条件运算符是JavaScript中唯一需要三个操作数的运算符。运算的结果根据给定条件在两个值中取其一。语法为:

条件 ? 值1 : 值2

8.逗号操作符

逗号操作符(,)对两个操作数进行求值并返回最终操作数的值。它常常用在 for 循环中,在每次循环时对多个变量进行更新。

例如,假如 a 是一个二维数组,每个维度各有10个元素,以下代码利用逗号操作符来同时改变两个变量的值。这段代码的功能是打印出该二维数组的对角线元素的值:

var x = [0,1,2,3,4,5,6,7,8,9]
var a = [x, x, x, x, x];

for (var i = 0, j = 9; i <= j; i++, j--)
  console.log('a[' + i + '][' + j + ']= ' + a[i][j]);

9.一元操作符

delete操作符,删除一个对象或一个对象的属性或者一个数组中某一个键值。语法如下:

delete objectName;
delete objectName.property;
delete objectName[index];
delete property; // legal only within a with statement

10.关系操作符

关系操作符对操作数进行比较,根据比较结果真或假,返回相应的布尔值。

in操作符,如果所指定的属性确实存在于所指定的对象中,则会返回true,语法如下:

propNameOrNumber in objectName

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/basic/js/1944.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注