运算符也被称为 操作符,事用于实现赋值,比较和执行算数运算等功能的符号
JavaScript常用的运算符
- 算数运算符
- 递增和递减运算符
- 比较运算符
- 逻辑运算符
- 赋值运算符
算数运算符
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 | 10+20=30 |
- | 减 | 10-20=-10 |
* | 乘 | 10*20=200 |
/ | 除 | 10/20=0.5 |
% | 取余(取模) | 9%2=1 |
浮点数精度问题
浮点数的最高精度事17位效数,但在进行算数计算时其精确度远远不如整数。
var result=0.1+0.2;//0.30000000000000004
console.log(result);
console.log(0.07*100);//7.000000000000001
我们不能直接判断两个浮点数是否相等
递增和递减运算符
如果需要反复给数字变量添加或减去1,可以使用++和–运算符来完成。
它们可以放在前面也可以放在后面
我们可以成为前置递增运算符和后置递增运算符
区别是:先自加还是先返回值
var e=10;
f=e++ + ++e;
console.log(f);//22
比较运算符
是两个数据进行比较时所使用的运算符,比较运算后,会返回一个布尔值作为比较运算的结果
运算符名称 | 说明 | 案例 | 结果 |
---|---|---|---|
< | 小于 | 1<2 | true |
> | 大于 | 1>2 | false |
>= | 大于等于 | 2>=2 | true |
<= | 小于等于 | 3<=2 | false |
== | 判等,会转型 | 37==37 | true |
!= | 不等 | 37!=37 | false |
=== !== | 全等 要求值和数据类型都一直 | 37===‘37’ | false |
逻辑运算符
用来进行布尔值运算的运算符,其返回值也是布尔值
逻辑运算符 | 说明 | 案例 |
---|---|---|
&& | 与 | true&true |
|| | 或 | true||true |
! | 非 | !true |
短路运算(逻辑中断)
当由多个表达式时,坐旁边的表达式值可以确定结果时,就不再继续运算右边的表达式的值;
console.log(123||456);//123
console.log(0||456);//456
console.log(123||456||789);//123
以逻辑或为例子,
第一个为真,就返回第一个值
第一个为假,就返回第二个值
赋值运算符
用来把数据赋值给变量的运算符
赋值运算符 | 说明 | 案例 |
---|---|---|
= | 直接赋值 | var username=‘41’ |
+= -= | 加减一个数后赋值 | var age=10;age+=5; |
*= /= %= | 乘除取模后赋值 | var age=2;age*=5; |
运算符优先级
优先级 | 运算符 | 顺序 |
---|---|---|
1 | 小括号 | () |
2 | 一元运算符 | ++ – ! |
3 | 算数运算符 | 先* / % 后+ - |
4 | 关系运算符 | > >= < <= |
5 | 相等运算符 | == != === !== |
6 | 逻辑运算符 | 先&& 后|| |
7 | 赋值运算符 | = |
8 | 逗号运算符 | , |
练习
console.log(4>=6||'peo'!='41'&&!(12*2==144)&&true)//true
var num=10;
console.log(5==num/2&&(2+2*num).toString()==='22');//true