运算符
运算符( operator ) 也被称为操作符,是用于实现赋值、比较和执行算数运算等功能的符号。
常用运算符:
算数运算符
(% 取余数 返回除法的余数:9%2=1)
浮点数的精度问题
浮点数值的最高精度是17位小数,但在进行算术计算时其精确度远远不如整数。
//不能直接拿着浮点数来进行比较 是否相等
var num = 0.1 + 0.2;
console.log(num == 0.3); //false
递增和递减运算符(++ --)
在JavaScript中,递增(++)和递减(–)既可以放在变量前面,也可以放在变量后面。放在变量前面时,我们可以称为前置递增(递减)运算符,放在变量后面时,我们可以称为后置递增(递减)运算符。
前置递增运算符
//前置递增
var age = 10;
++age;
console.log(age);
//先+1,后返回值
var p = 10;
console.log(++p + 10); //21
后置递增运算符
//后置
//先返回原值,后+1
var q = 10;
console.log(q++ + 10); //20
console.log(q++ + 10); //21
比较运算符
运算符名称 | 说明 | 案例 | 结果 |
---|---|---|---|
< | |||
> | |||
>= | |||
<= | |||
== | 判等号 值相等即true | 3737 37’37’ | true |
!= | |||
=== !=== | 全等 要求值和数据类型都一致为true | 37===‘37’ | false |
逻辑运算符
概念∶逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值。后面开发中经常用于多个条件的判断
逻辑运算符 | 说明 | 案例 |
---|---|---|
&& | 与 | 同真为真,一假为假 |
|| | 或 | 一真为真,同假为假 |
! | 非 | 反 |
短路运算(逻辑中断)
逻辑与
//1.逻辑与短路运算:如果表达式1 结果为真 返回表达式2
//如果表达式1为假,返回表达式1
console.log(123 && 456); //456
console.log(0 && 456); //0
// 如果有空的或者否定的为假其余是真的 0'' null undefined NaN
逻辑或
// 2.逻辑或短路运算 如果表达式1结果为真 则返回的是表达式1 如果表达式1结果为假 则返回表达式2
console.log(123 || 456); //123
console.log(0 || 456); //456
console.log(123 || 456 || 789); //123
//逻辑中断很重要,它会影响我们程序运行结果
var num = 0;
console.log(123 || num++); //123
console.log(num); //0
赋值运算符
赋值运算符 | 说明 | 案例 |
---|---|---|
= | ||
+=、-= | 加、减一个数后再赋值 | var age=10;age+=5;//15 |
*=、/=、%= | 乘、除、取模 后再赋值 | var num=2;num *= 5;//10 |
运算符优先级
优先级 | 运算符 | 顺序 |
---|---|---|
1 | 小括号 | () |
2 | 一元运算符 | ++ – ! |
3 | 算数运算符 | 先* / % 后+ |
4 | 关系运算符 | > >= < <= |
5 | 相等运算符 | == != === !== |
6 | 逻辑运算符 | 先&& 后|| |
7 | 赋值运算符 | = |
8 | 逗号运算符 | , |
- 一元运算符里面的逻辑非优先级很高
- 逻辑与比逻辑或优先级高