赋值运算符
(=)
可以将符号右侧的值赋值给符号左侧的变量
(+=)
a += 5 等价于 a = a + 5
(-=)
a -= 5 等价于 a = a - 5
(*=)
a *= 5 等价于 a = a * 5
(/=)
a /= 5 等价于 a = a / 5
(%=)
a %= 5 等价于 a = a % 5
关系运算符
如果关系成立它会返回true,如果关系不成立会返回false
(>)大于号
判断符号左侧的值是否大于右侧的值
如果关系成立,返回true,不成立则返回false
(>=)大于等于
判断符号左侧的值是否大于或等于右侧的值
(<)小于
(<=)小于等于
非数值情况
对于非数值进行比较时,会将其转换为数字然后在比较
如果符号两侧的值都是字符串时,不会将其转会为数值进行比较,
而会分别比较字符串中字符的Unicode编码的大小
相等运算符
相等运算符用来比较两个值是否相等
如果相等会返回true,否则返回false
使用 == 来做相等运算
当使用 == 来比较两个值时,如果值的类型不同
则会自动进行类型转换,将其转换为相同的类型
然后再比较
不相等
不相等用来判断两个值是否不相等,如果不相等返回true,否则返回false
使用!=来做不相等运算
不相等也会对变量进行自动的类型转换,如果转换后相等它也会返回false
===全等
用来判断两个值是否全等,它和相等类似,不同的是它不会做自动的类型转换,如果两个值的类型不同,直接返回false
!==不全等
用来判断两个值是否不全等,和不等类似,不同的是它不会做自动的类型转换,如果两个值的类型不同,直接返回true
条件运算符
条件运算符也叫三元运算符
语法:
条件表达式?语句1:语句2;
执行的流程:
条件运算符再执行时,首先对条件表达式进行求值,
如果该值为true,则执行语句1,并返回执行结果
如果该值为false,则执行语句2,并返回执行结果
如果条件的结果是一个非布尔值,会将其转换为布尔值然后在进行判断
运算的优先级
就和数学一样,在js中运算符也有优先级,
比如:先乘除 后加减
在js中有一个运算符优先级的表,
在表中越靠上优先级越高,优先级越高越优先计算,
如果优先级一样,则从左往右计算,
但是这个表我们并不需要记忆,如果遇到优先级不清楚
可以用()来改变优先级
代码块
我们的程序是由一条一条语句构成的
语句时按照自上向下的顺序一条一条执行的
在js中可以使用{}来为语句进行分组,
同一个{}中的语句我们称为时一组语句,
他们要么都执行,要么都不执行,
一个{}中的语句我们也成为叫一个代码块
在代码块的后边就不用再编写了
js中的代码块,只具有分组的作用,没有其他的作用
if语句
if语句
语法一:
if(条件表达式){
语句…
}
语法二:
if(条件表达式){
语句…
}else{
语句…
}
if…else…语句
当该语句执行时,会先对if后的条件表达式进行求值判断,
如果该值为true,则执行if后的语句
如果该值为false,则执行else后的语句
语法三:
if(条件表达式){
语句…
}else if(条件表达式){
语句…
}…{
语句…
}else{
语句…
}
if…else if…else
当该语句执行时,会从上到下依次对条件表达式进行判断,
如果值为true,则执行当前语句
如果值为false,则继续向下判断