运算符也叫操作符,通过运算符可以对一个或多个值进行运算
- typeof :获得一个值的类型,会将该值的类型以字符串形式返回 number string boolean undefined object
算数运算符:
+ 、-、*、/、%:不会对原变量产生影响;对非number类型运算时,会转换成Number进行运算。
+:
- boolean:1或0
- null:0
- NaN:任何数和NaN做运算都得NaN
- 两个字符串相加:拼接
- 任何值和字符串做加法都会转换成字符串,然后拼接
-:
- 减0可以把其他值变成Number
*:
- 任何值乘以undefined得NaN
一元运算符:只需要一个操作数
- typeof
- +:正号,不会对Number产生任何影响
- -:负号 对数字进行符号取反
- 对于非Number值,会先转换为Number
自增:++ ,无论是后++还是前++,都会立即使原变量的值立即自增1,不同的是自增表达式的值不同。
d=d++ 等价于 e=d++;d=e,值不变
自减 --:
逻辑运算符:
!:对一个值进行非运算。
- 对布尔值进行取反运算,两次取反值不变
- 对非布尔值进行运算会将其转换为布尔值然后运算
- 为任意数据类型做两次运算即可将其转换为布尔值
&&:对符号两侧的值进行与运算并返回结果
- 两个值都是true则返回true,有一个false就返回false
- 如果第一个值为false,则不会看第二个值
||:或运算
- 只要有一个true就返回true
- 第一个为true则不会看第二个值
&& || 非布尔值的情况
- 对于非布尔值,会将其转换为布尔值运算,然后返回原值
- && 第一个值为true,则返回第二个值
- && 如果第一个是false,则返回第一个值
- || 第一个为true,则返回第一个值
- || 第一个为false,返回第二个值
赋值运算符
=:将右侧值赋值给左侧
+=:等价于a=a+5,不要有空格
-=、*=、/=、%=
关系运算符
>:判断左侧值是否大于右侧
>=、<=
非布尔值的比较:对非数值的情况,先转换成数字再比较
- 任何值和NaN做任何比较都是false(字母字符串转成数字是NaN)
- 如果符号两侧都是字符串,不会转换,而会分别比较字符串中的Unicode编码,一位一位比较
- 想要按数字类型比较两个字符串型的数字时,一定要先转型
相等运算符:比较两个值是否相等
==:表示相等运算
- 类型不同,则会自动进行类型转换,然后再比较
- null==0 false;true=="1" true;
- null 和undefined做相等运算返回false,但这两个比较返回true
- NaN不和任何值相等,包括他本身,若要判断一个值是否是NaN,使用 isNaN(b)
!=:不相等
- 不相等也会对变量做类型转换,如果转换后相等也会返回false
=== 全等
- 用来判断两个值是否全等,不会做自动类型转换,如果两个值类型不相等,直接返回false
- null和undefined相等但不全等
!== 不全等 和全等类似,同样不做类型转换
条件运算符 也叫三元运算符
语法:条件表达式?语句1:语句2
运算符优先级
--逗号运算符 可以分割多个语句,一般用于声明多个变量
在js中,有一个优先级的表,在表中越靠上优先级越高,优先级相同时从左往右。如果遇到优先级不明确的,可以使用括号()来改变优先级
1067

被折叠的 条评论
为什么被折叠?



