JavaScript运算符与表达式
运算符:也叫操作符,用于执行代码运算,会针对一个以上操作数进行运算。
表达式:是由一个或多个操作数通过运算符连接起来的式子,每个表达式都会有一个结果返回。
运算符分类
1.算术运算符
2.赋值运算符
3.比较运算符
4.逻辑运算符
5.三目运算符
6.字符串运算符
算术运算符
算术运算符就是常见的数学运算:+ - * / %
加法运算符 + X+Y 计算x+y的和
规则:
1.如果两边都是数字,就是普通的数学计算
var a=1+2 //计算后的结果赋值给a 3
2.如果一边是字符串,另外一边参与运算的时候也转换为字符串 此时+变成 字符串的连接符
var a=1
var b='我是小白'
var c=a+b
console.log(c) //1我是小白
console.log(typeof c) //string
3.如果没有字符串,就调用Number()方法 转成数字再进行相加运算
var a=1
var b=true
var c=false
console.log(a+b) //2 Number(true)=1
console.log(a+c) //1 Number(false)=0
4.如果有一边是对象,则对象调用 toString 得到字符串表示,再进行计算
console.log(1+{}); //1[object Object]
减法运算符 - x-y 计算x-y的差
操作符两边都调用Number()方法转成数字再计算
var a=1
var b=1
console.log(a-b) //0
console.log(5-'20') //-15
console.log(false-null) //0 Number(null)=0
console.log('小白'-5) //NaN 非数 Number('小白')=NaN
乘法运算符 * xy 计算 xy 的积
除法运算符 / x/y 计算x除以y的商
取模(取余)运算符 % x % y计算x % y的余数
var x=10
var b=4
console.log(x%y) //2
递增 ++
加加在前,先自增,然后参与表达式的计算
var num1=2
var num2=20
var num3=++num1+num2
console.log(num3); //23
加加在后 先参与运算 再自增
var num4=num1++ +num2
console.log(num4); //22
递减 – 和递增同理
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZTivpVMS-1668687489055)(C:/Users/pc/AppData/Roaming/Typora/typora-user-images/image-20221117161208754.png)]
赋值运算符
赋值运算符有:= += -= *= /= %=
= 将运算符右边的值 赋值给左边的变量
var a=10 //把10赋值给左边的变量
+= 先进行加法运算再将结果赋值给左边的变量
var a=10
a+=20 //a=10+20
console.log(a) //30
-= *= /= %= 同理
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PCaxOmW8-1668687489056)(C:/Users/pc/AppData/Roaming/Typora/typora-user-images/image-20221117160936631.png)]
比较运算符
比较运算符用来比较运算符左右两侧的表达式,比较运算符的结果只有两个 true/false
比较运算符有:== === != !== < > <= >=
== 等于 值相等就为真
var a='1',
var b=1
var c=2
console.log(a==b)//true
console.log(a==c)//false
=== 全等 值和数据类型都相等才为真
var a='1',
var b=1
var c=2
console.log(a===b)//false
!= 不相等 值不相等就为真
var a='1',
var b=1
var c=2
console.log(b!=c)//true
!== 不全等 值不相等或者类型不同 就为真
var a='1',
var b=1
var c=2
console.log(b!==c)//true
1.< 2.> 3.>= 4.<= 这四种就是普通的比较运算符
var a=1,b=2,c=3,
a<b //true
b>a //true
c>=b //true c大于或者等于b
c<=b //false
逻辑运算符
逻辑运算符常用来组合多个表达式,逻辑运算符的运算结果也就两个值true、false
逻辑运算符有三个:
逻辑与 && x&&y x和y都为真就返回真
逻辑或 || x||y x和y有一个为真 就返回真
逻辑非 ! !x表示如果x不为真的时候就返回 真
下面使用逻辑运算符求今年是不是润年:
闰年可以被 400 整除,或者也可以被 4 整除但不能被 100 整除
var year=2022
if((year%400==0)||((year%100!=0)&&(year%4==0))){
console.log(year+'润年')
}else{
console.log(year+'平年')
}
三木运算符
语法格式:
条件表达式?表达式1:表达式2
条件表达式的结果为真 执行表达式1的代码
条件表达式的结果为假 执行表达式2的代码
var a=10,b=20;
a<b?console.log('a小于b'):console.log('a大于b')
字符串运算符
JavaScript的+和+=运算符除了进行数学运算还可以用来拼接字符串
+运算符表示将运算符左右两边的字符串拼接到一起
var x='hello', y='小白'
var z=x+y
console.log(z) //hello小白
+=运算符表示 先将字符串进行拼接 再将结果赋值给左边的变量
var x='hello', y='小白'
x+=y //x=x+y
console.log(x) //hello小白