一次弄懂Javascript基础中的各种运算符

240 阅读2分钟

Javascript中的运算符,本质上就是参与运算的各种符号,主要有以下几种分类:

1,算术运算符

2, 赋值运算符

3, 一元运算符

4, 比较运算符

5, 逻辑运算符

1,算术运算符

算术运算符也叫数学运算符

符号作用
+求和
-求差
*求积
/求商
%取模(也叫取余数),开发中经常用来判断某个数字是否被整除

重点记住 %(取模)),开发中经常用来判断某个数字是否被整除,应用场景如下

<script>
        console.log(3 % 5)  //输出的结果是3, 因为3/5 的余数是3
        console.log(5 % 3)//输出的结果是2, 因为5/3 的余数是2
    </script>

2, 赋值运算符

赋值运算符:对变量进行赋值的运算符

符号作用
=将右边的值赋予给左边,要求左边必须是一个容器
+=让变量增加,并且更新变量, 如num += 3, 等同于num = num +3
-让变量减少,并且更新变量, 如num -= 5, 等同于num = num - 5
*=让变量相乘,并且更新变量, 如num *= 6, 等同于num = num * 6
/=让变量相除,并且更新变量, 如num /= 8, 等同于num = num / 5
%=让变量取模,并且更新变量, 如num %= 9, 等同于num = num % 5

赋值运算符中常用的是+=,其他的都用的比较少

3, 一元运算符

开发中根据表达式的个数,分为一元运算符、二元运算符、三元运算符

一元运算符, 指的是1个表达式参与运算,比如正负号 +,-

以前让变量每次+1,主要是以下两种写法,写起来比较麻烦:

 <script>
       let num = 1
        num = num + 1
    </script>

或者

 <script>
       let num = 1
  num += 3
    </script>

现在有更简单的办法, 比如一元运算符++

符号作用
++ (自增运算符)让变量的值+1
-- (自增运算符)让变量的值-1

**开发中使用较多的主要是自增运算符 ++ **

自增运算符又分为前置自增和后置自增

1, 前置自增 写法:

<script> 
let num = 1 
++num  //相当于num +=1 或者 num = num +1
console.log(num)  //输出 2
</script>

2, 后置自增写法:

<script> 
let num = 1 
num++
console.log(num)  //输出 2
</script>

开发中后置自增使用较多

两者的区别:

1,前置自增和后置自增单独使用是没有区别

2,但是参与运算时就有区别

比如:

<script> 
let num = 1 

console.log(num++ +2) //结果是 3, num++先参与运算,运算输出完毕后自加1
</script>
<script> 
let num = 1 

console.log(++num +2) //结果是 4 ++num先自加1变成2, 再参与运算
</script>

记忆口诀:加价在前,先加;加加在后,后加

4, 比较运算符

符号作用
左边是否大于右边
<左边是否小于右边
>=边是否大于或等于右边
<=左边是否小于或等于右边
==左右两边值是否相等
===左右两边是否类型和值都相等
!==左右两边类型和值是否不全等
!=左右两边值是否不全等

重点记住:==, ===, !==

几种等号的对比:

符号作用
=赋值
==判断值是否相等
===判断值和类型相等

开发中判断是否相等推荐使用===

案例:

 <script>
       console.log(2 == 2)   //true
       console.log(2 == '2')  //true

       console.log(2 === '2')  //false. 因为数字2和字符串'2'类型不相等
       console.log(2 !== '2') //true
       console.log(2 != '2')  //false,因为数字2和字符串'2'值相等
       console.log(NaN=== NaN)  //false
       console.log(undefined=== NaN)  //false
    </script>

注意:*

1,NaN不等于任何数据,包括它自己*

1,undefined 和 NaN 也不全等*

5, 逻辑运算符

使用场景:解决多重条件判断

之前判断一个数大于5并且小于10, 主要是这样写的: 5<num<10,

但是这种写法是错误的,正确的写法如下: num>5 && um<10

其中用到的就是逻辑运算符

逻辑运算符的分类

逻辑运算符.png

1,逻辑与 && --一假则假

<script>
       console.log(true && false)   //输出 false
       console.log(2>3 && 2>1)  //false
       console.log(3>1 && 3<5)  //true
      
    </script>

2,或 || --一真则真

<script>
       console.log(true && false)   //输出 true
       console.log(2>3 && 2>1)  //true
       console.log(3>1 && 3<5)  //true
      
    </script>

3,非 ! -- 取反

<script>
       console.log( !false)   //输出 true
       console.log(!2>3)       // true
       console.log(!3>1)      //false
      
    </script>

6,运算符优先级

运算符优先级.png

小结:

 一元运算符里面的逻辑非优先级很高

 逻辑与比逻辑或优先级高