运算符也叫操作符,通过给一个或多个值进行运算,并获取运算结果。
如typeof:获得一个值的类型。然后以字符串形式返回。
算数运算符: + 加法运算 true为1 false为0。任何值和NaN都是NaN。
两个字符串想加会拼串,任何值和字符串做加法运算都会先转化为字符串,然后拼串。
可以利用这一特点将任意类型转化为字符串,例如:var a = 123;a=a+"";
任何值做-* /运算时都会变成Number,可以利用这一特点做隐式的类型转换如:-0,*1,/1。
% 取模运算,两数相除取余数。a=9%3;a为0
一元运算符:+ 正号 例如:var a=-2;a=+a;
- 负号
对于非Number类型的值,会先转换为Number,然后在运算可以对一个其他数据类型
使用+,来将其转换为Number。
自增 ++:a++; , ++a;(a是变量,a++是表达式)
a++的值等于原变量的值,++a的值自增后的值。
自减-- : 同上
逻辑运算符:!非 &&与 ||或 非Boolean值运算是先转换成布尔值。可以利用 !! 讲一个非布尔值转换成布尔值
&& 与运算,非布尔值的情况:如果第一个值为true,则必然返回第二个值,如果第一个值为false则直接返回。
或运算,第一个值为true直接返回,第一个为false则返回第二个。
赋值运算:=
关系运算符: > < == >= <= 关系成立返回true,否则false。非数值会先转换为数字然后比较。
任何值和NaN做任何运算都是false,如果符号两侧都是字符串不会将其转换成数字
而会分别比较Unicode编码,并且只会一位一位比,两位一样比较下一位。
如"abc"<"bcd" ,"bbc">"b","11"<"5",所以比较字符串型的数据一定要转型。
条件运算符(三元运算符):语法:条件表达式?语句1:语句2;
运算符优先级: