算数运算符也叫操作符,通过运算符可以对一个或多个值进行运算,并获取结果。
+运算符
Number和其他类型,当对不是Number的变量运算时,会先转换为Number再运算;数字加NaN,会返回一个NaN两个字符串可以相加,进行字符串的拼接,任意数据类型加上字符串都会转换为字符串
一元运算
只需要一个操作数:+ - a = +a a = -a [ a = true; b = -a; ----- b = -1] 先转换为number,在进行运算
自增自减(自减同理) a++和++a 源变量会立马自增1 b1 = a++:a++的值等于a自增前的值 1 b2 = ++a:++a的值等于源变量自增后的值 2
逻辑运算
非布尔值先转换为布尔值,在进行逻辑运算。
!非运算 取反&& 与 只要一个为假结果就是假 JS中的 “ ” 属于短路的与,因此在运算时,不会检查第二个值,如果第一个为false,直接返回false|| 或 只要一个为真,结果就为真 JS中的 “ ” 属于短路的或,如果第一个为false,则会检查第二个
赋值运算
直接赋值 += 不可分开写,左边加上右边,再将结果赋值给左边-= 左边减去右边,再将结果赋值给左边*= 、 /= 、 %=
关系运算符
/> / <可以比较两个运算符之间的大小关系。关系成立返回true,反之为false。/<= / <= 对于非数字比较,先进行数字的转换,再进行比较,例如 2> true — true== 相等关系,成立返回true,反之false 如果类型不行等,类型转换后相等那么也会返回true。!= 不等关系 注意:NaN == NaN 将返回false NaN和所有值的都不想等,包括他自己,可以通过isNaN()函数来检查一个值是不是NaN。=== 全等关系 如果类型不同,则返回false!== 不全等,值相等,类型不等,也会返回true
条件运算
三元运算:条件语句 ? 语句1: 语句2;
运算符的优先级
. ,[] , new()++,–!,~,+(单目),-%,*,/+,-<< ,>>,>>><,<=,>,>=&^|&&||?:=,+=,-=,*=,/=,%=,<<=,>>=,>>>=,&=,^=,|=,