JavaScript运算符

Posted 橘猫吃不胖~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript运算符相关的知识,希望对你有一定的参考价值。

1 算术运算符

算术运算符用于对两个变量或值进行算术运算,与数学上的加、减、乘、除类似,常用的算术运算符如下。

运算符运算
+
-
*
/
%取余数(取模)

示例:

console.log(1 + 5);
console.log(8 - 4);
console.log(3 * 4);
console.log(3 / 2);
console.log(7 % 5);

结果分别是:
6
4
12
1.5
2

算术运算符的注意事项
1、进行四则混合运算时,运算顺序要遵循数学中“先乘除后加减”的原则
2、在进行取模运算时,运算结果的正负取决于被模数(%左边的数)的符号,与模数(%右边的数)的符号无关,%左边的符号为负,则结果为负,符号为正,结果为正
3、在开发中尽量避免利用浮点数进行运算,因为有可能会因JavaScript的精度导致结果的偏差
4、使用“+”和“-”可以表示正数或负数

表达式是各种类型的数据、变量和运算符的集合,最简单的表达式可以是一个变量或字面量。
注意:表达式最终都会有一个返回值。

单目运算符:参加运算的对象只有一个,运算符必须在运算对象的左边,例如-5,+6
双目运算符:参加运算的对象有两个,例如a+b,a-b

2 递增和递减运算符

使用递增(++)、递减(–)运算符可以快速地对变量的值进行递增和递减操作,它属于一元运算符,只对一个表达式进行操作。

**前置递增(递减)**运算符:递增和递减运算符写在变量前面,返回的是计算后的结果,例如++a
**后置递增(递减)**运算符:递增和递减运算符写在变量后面,返回的是计算前的结果,例如a++
注:递增和递减运算符的优先级高于“+”“-”等运算符

前缀和后缀的区别
1、作为独立的语句没有区别:都是让运算对象加1
2、若放在表达式中,前缀:先让变量加1,再使用变量的值;后缀:先使用变量的值,然后再让变量加1

示例:

var a = 5, b = 3, k;
k = ++a * b;//a先加1,然后再与b相乘
console.log("a的值为:", a);
console.log("k的值为:", k);

a的值为: 6
k的值为: 18

var a = 5, b = 3, k;
k = a++ * b;//a先与b相乘等于15,然后再加1
console.log("a的值为:", a);
console.log("k的值为:", k);

a的值为: 6
k的值为: 15

3 比较运算符

比较运算符用于对两个数据进行比较,其结果是一个布尔值,即true或false ,常用的比较运算符及用法见下表。

运算符运算
>大于
<小于
>=大于或等于
<=小于或等于
==等于,只比较值是否相等
!=不等于
===全等,严格的等于,先判断类型,再判断值
!==不全等,严格的不等于

== /===的区别示例:

var k1 = "123";//字符串类型
var k2 = 123;//数字型
console.log(k1 == k2);//判断k1和k2的值是否相等
console.log(k1 === k2);//先判断k1和k2的数据类型,然后判断值是否相等

结果是:
true
false

4 逻辑运算符

逻辑运算符用于对布尔值进行运算,其返回值也是布尔值。在实际开发中,逻辑运算符经常用于多个条件的判断,常用的逻辑运算符见下表。

运算符运算示例结果
&&表达式1&&表达式2表达式1和表达式2都为true,结果为true,否则为false
||表达式1||表达式2表达式1和表达式2中至少有一个为true,结果为true,否则为false
!!表达式若表达式为false,结果为true,否则相反

位运算符,用来对数据进行二进制运算,将参与运算的操作数视为由二进制(0和1)组成的32位的串。

逻辑与(&&)运算中的短路现象:当表达式1为假时,不运算表达式2,例如:

var a = 3, b = 5, k;
k = (a > 10) && (--b > 6)//表达式1为假,不运算表达式2
console.log("k的值为:", k);
console.log("b的值为:", b);

k的值为: false
b的值为: 5

逻辑或 (||)运算中的短路现象:当"表达式1"为真时,不运算"表达式2",例如:

var a = 3, b = 5, k;
k = (a < 10) || (--b > 6)//表达式1为真,不运算表达式2
console.log("k的值为:", k);
console.log("b的值为:", b);

k的值为: true
b的值为: 5

5 赋值运算符

赋值运算符用于将运算符右边的值赋给左边的变量,常用的逻辑运算符有:+=,-=,*=,/=。

示例:

var age = 10;
age += 5;// 相当于age = age + 5;
console.log(age);
age -= 5;// 相当于age = age - 5;
console.log(age);
age *= 10;// 相当于age = age * 10;
console.log(age);

结果为:
15
10
100

常用的赋值运算符如下所示:

运算符运算示例结果
=赋值a=3;a=3
+=加并赋值a = 3; a += 2;a = 5
-=减并赋值a = 3; a -= 2;a = 1
*=乘并赋值a = 3; a *= 2;a = 6
/=除并赋值a = 3; a /= 2;a = 1.5
%=模并赋值a = 3; a %= 2;a = 1
+=连接并赋值a = ‘abc’; a += ‘def’;a = ‘abcdef’
<<=左移位并赋值a = 9; a <<= 2;a = 36
>>=右移位并赋值a = -9; a >>= 2;a = -3
>>>=无符号右移位并赋值a = 9; a >>>= 2;a = 2
&=按位“与”并赋值a = 3; a &= 9;a = 1
^=按位“异或”并赋值a = 3; a ^= 9;a = 10
=按位“或”并赋值a = 3; a

6 位运算符

&:按位“与”,两个对应的二进制位都为1时,结果为1,否则为0

示例:15&10
1 1 1 1
1 0 1 0
----------
1 0 1 0

|:按位“或”,两个对应的二进制位有一个为1时,结果6为1

^:按位“异或”,两个对应的二进制位相同为0,不同为1

示例:15^10
1 1 1 1
1 0 1 0
----------
0 1 0 1

7 三元运算符

三元运算符是一种需要三个操作数的运算符,运算的结果根据给定条件决定。

条件表达式 ? 表达式1 : 表达式2

语法说明:先求条件表达式的值,如果为true,则返回表达式1的执行结果;如果条件表达式的值为false,则返回表达式2的执行结果。

8 运算符优先级

运算符优先级:是指表达式中所有运算符参与运算的先后顺序,优先级如下表。

以上是关于JavaScript运算符的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段12——JavaScript的Promise对象

VSCode自定义代码片段12——JavaScript的Promise对象

30秒就能看懂的JavaScript 代码片段

常用Javascript代码片段集锦

48个值得掌握的JavaScript代码片段(上)

如何将此 JavaScript 代码片段翻译成 Parenscript?