JavaScript运算符
| 运算符 | 描述 | 实例 |
|---|---|---|
| + | 加 | 10+20=30 |
| - | 减 | 10-20=-10 |
| * | 乘 | 10*20=200 |
| / | 除 | 10/20=0.5 |
| % | 取模(取余数) | 9%2=1 |
浮点数 在算数运算中有问题
例:
console.log(0.1 + 0.2); // 0.30000000000000004
console.log(0.07 * 100); // 7.000000000000001
浮点数的高精度值 = 17 位,不能直接进行比较(不能直接判断两个浮点数是否相等)
例:
var num = 0.1 + 0.2;
console.log(num == 0.3); // false
表达式和返回值
表达式:是由数字、运算符、变量等以能求得数值的有意义排列方法所得的组合
返回值:表达式返回的结果
2.递增和递减运算符
后置自增:
num++:先返回值 后加1 先表达式返回原值 后变量再自加1
前置自增:
++num:先自加1 后返回值
3.比较运算符
> < >= <= == != === !===
"=":赋值
"==":判断 默认转换数据类型 18==’18‘ 字符型转换成数字型 只要求值等
"===":全等 一模一样 数值和数据类型
4.逻辑运算符(JS API常用)
&& || !
短路运算(面试)逻辑中断
逻辑与&&短路运算:
如果表达式1为真,则返回表达式2
console.log( 123 && 456 ); // 456
如果表达式1为假,则返回表达式1
console.log( 0 && 456 ); // 0
多个与运算:
console.log( 123 && 456 && 789 ); // 789
为什么返回789?
因为逻辑没有被中断 表达式1为真,返回表达式2 表达式2也为真,返回表达式3(若表达式2为假,则返回表达式2)
逻辑或||短路运算:
如果表达式1为真,则返回表达式1
console.log( 123 || 456 ); // 123
如果表达式1为假,则返回表达式2
console.log( 0 || 456 ); // 456
多个或运算:
console.log( 123 || 456 || 789 ); // 123 直接短路输出 第二个‘||’没有进行运算
5.赋值运算符
= += -= *= /= %=
运算符优先级
| 优先级 | 运算符 | 顺序 |
|---|---|---|
| 1 | 小括号 | () |
| 2 | 一元运算符 | ++ -- ! |
| 3 | 算数运算符 | 先 * / % 后 + - |
| 4 | 关系运算符 | > >= < <= |
| 5 | 相等运算符 | == != === !=== |
| 6 | 逻辑运算符 | 先 && 后 || |
| 7 | 赋值运算符 | = |
| 8 | 逗号运算符 | , |
一元运算符里面的逻辑非!
逻辑与&&比逻辑或||优先级高

浙公网安备 33010602011771号