一元运算符
一元运算符,只需要一个操作数
+ 正号:正号不会对数字产生任何影响
- 负号:负号可以对数字进行符号的取反
对于非Number类型的值,它会将先转换为Number,然后再运算
可以对一个其他的数据类型使用+,来将其转换为number,它的原理和Number()函数一样
自增和自减
自增++:对于一个变量自增以后,原变量的值会立即自增1
自增分成两种:后++(a++) 和 前++(++a)
无论是a++还是++a,都会立即使原变量的值自增1
不同的是a++和++a的值不同:
- a++的值等于原变量的值(自增前的值)(先赋值后自增)
- ++a的值等于新值 (自增后的值)(先自增后赋值)
自减- -:通过自减可以使变量在自身的基础上减1
自减分成两种:后–(a–) 和 前–(--a)
a- -是变量的原值 (自减前的值)(先赋值后自减)
- -a 是变量的新值 (自减以后的值)(先自减后赋值)
逻辑运算符
js中提供了三种逻辑运算符:
- 逻辑非( !)
- 逻辑与(&&)两个值是true则true,一个值是false则false
-两个值都是true则返回true,只要有一个false,就返回false - 逻辑或(||)两个值是false则false,有一个是true就返回true
- /第一个值为false,则会检查第二个值。第一个值为true,则不再检查第二个值
与运算(&&):
- 如果第一个值为true,则必然返回第二个值
- 如果第一个值为false,则直接返回第一个值
- 如果两个值都为true,则返回后边的
- 如果两个值中有false,则返回靠前的false
或运算(||):
- 如果第一个值为true,则直接返回第一个值
- 如果第一个值为false,则返回第二个值
- 如果第一个值为true,则直接返回第一个值
- 如果第一个值为false,则直接返回第二个值
赋值运算符
(=)(+=)(-=)(*=)(/=)(%=)
关系运算符
(>)(>=)(<)(<=)
非数值的情况:对于非数值进行比较时,会将其转换为数字然后再比较
如果符号两侧的值都是字符串时,不会将其转换为数字进行比较,而会分别比较字符串中字符的Unicode编码
相等运算符
使用 == 来做相等运算:当使用==来比较两个值时,如果值的类型不同,则会自动进行类型转换,将其转换为相同的类型,然后再比较
使用 != 来做不相等运算
- 不相等也会对变量进行自动的类型转换,如果转换后相等它也会返回false
===全等:
用来判断两个值是否全等,它和相等类似,不同的是它不会做自动的类型转换
如果两个值的类型不同,直接返回false
!==不全等:
用来判断两个值是否不全等,和不等类似,不同的是它不会做自动的类型转换
如果两个值的类型不同,直接返回true
条件运算符
语法:
- 条件表达式?语句1:语句2;
执行的流程:
条件运算符在执行时,首先对条件表达式进行求值,
如果该值为true,则执行语句1,并返回执行结果
如果该值为false,则执行语句2,并返回执行结果
如果条件的表达式的求值结果是一个非布尔值,会将其转换为布尔值然后在运算
例子:a > b ? alert(“a大”):alert(“b大”);
如果a大于b就返回a大,小于b就返回b大