Skip to content

运算符

750字约3分钟

流程控制

2024-07-07

运算符类别

赋值运算符

= 用来给变量赋值,还有以下简写

+ =

- =

* =

/ =

% =

相当于:

\displaylinesa+=ba=a+ba=ba=aba=ba=aba/=ba=a/ba%=ba=a%b \displaylines{ a += b\Leftrightarrow a = a+b\\ a -= b\Leftrightarrow a = a-b\\ a *= b\Leftrightarrow a = a*b\\ a /= b\Leftrightarrow a = a/b\\ a \%= b\Leftrightarrow a = a\%b }

算数运算符

+ 加法

- 减法

* 乘法

/ 除法

% 取余(模运算)

比较运算符

> 大于

< 小于

> = 大于或等于

< = 小于或等于

= = 等于(值相等)

= = = 全等于(值和数据类型一致)

! = 不等于

判断值相等,坚决*不能*用一个 `=`

宽松写法= =

严谨写法= = =(推荐)

let a = null;
let b = undefined;
a == b;
a === b;

比较运算符总结

比较运算符得到的结果是一个布尔值 (true 或者 false)

>= 大于或等于 只要有一个结果正确最后的结果就是正确的

== 等于,只判断值是否相等

=== 全等于,值和数据类型必须都一样

一元运算符

注意

一元运算每次只能固定的加1或者减1

在循环语句中使用一元运算符

一元运算符连写,中间不能有任何的空格

变量++先运算再自增1++变量先自增1再运算1变量先运算再自减1变量先自减1再运算 \text{变量}++ \Leftrightarrow \text{先运算再自增1}\\ ++\text{变量} \Leftrightarrow \text{先自增1再运算1}\\ \text{变量}-- \Leftrightarrow \text{先运算再自减1}\\ --\text{变量} \Leftrightarrow \text{先自减1再运算}

自增(减)运算符

相关信息

以字母i为例,自减运算符与自增运算符类似,这里不再赘述

++i

先运算,再赋值

i++

先赋值,再运算

注意

注意运算过程中变量的值

let a = 1;
let b = a++;
console.log(a);
console.log(b);

提示

单独看i++值为1,++i值为2,但下面运算结果一定不是4、5这样的答案

运算过程中i的值会变化

let  i = 1;
console.log(i++ + ++i + i);

逻辑运算符

Javascript 假值

undefined、null、NaN(非数字)、0、false、' '

? ?是ECMA2020新增的空值合并运算符

或运算

| |

结果都是布尔值,一真即真

碰到真的,触发短路,后面不执行

console.log(0 || 2);//值为2

且运算

& &

结果都是布尔值,一假即假

警告

不要使用数学写法,如18 <= age <24

let year = prompt('请输入年份:');
console.log(year >= 2020 && year <=2035);

碰到假的,触发短路,后面不执行

console.log(null && 3);
console.log(3 && false);
console.log(2 && 6);

||与&&同时出现

先计算&&最后计算||

console.log(0 && 1 || 2); //值为2

空值合并运算符

? ?

类似或运算,处理第一个为null或undefined为真时,才返回第二个值

作用是判断0和空值

取反

!

let a = 2;
a = !a;
Boolean

运算符优先级

  1. 算数运算符(最高)
  2. 比较运算符
  3. 赋值运算符
  4. 一元运算符
  5. 逻辑运算符
  6. 赋值运算符(最低)

提示

算数运算符中的( )级别最高,再乘除加减

一元运算符先+ +

逻辑运算符先执行| |