一元操作符:
前置型:(先自加或者自减后赋值)例如:++a,--a
后置型:(先赋值后自加或者自减)例如:a++,a--
一元加:(本质上对数字是没有任何影响的,但是会把字符串转换成数字,一元运算符可以把
以“0x”开头的字符串(表示十六进制的数字)转换成十进制的值)
例如:
var num=10;
num=+num;
console.log(num);========>这里的结果还是10
var aNum="10";
console.log(typeof aNum);=========>这里的结果会是String
aNum=+aNum;
console.log(typeof aNum);=========>这里的结果会是Number
一元减:(对数值求负,与一元加相似,一元减也会字符串转换成近似的数字,
一元减对十六进制和十进制的处理方式与一元加相似,只是还会对该值求负)
布尔操作符:
逻辑与(&):遇假则假,全部都是真的时候才是真,但是当操作数不全是布尔值的时候,
会对操作数进行布尔值转换,遇到假值就直接返回布尔值为假的操作数,遇到真就往后面走,
全部为真就返回最后一个操作数
例如:
true && false;========>这里的结果是false
true && true;========>这里的结果是true
var obj={};
obj && "a";========>这里的结果是a
null && "b";========>这里的结果是null
undefined && 7; ========>这里的结果是undefied
逻辑或(||):有真就为真,全部都是假的时候才是假,但是当操作数不全是布尔值的时候,
会对操作数进行布尔值转换,遇到真值就直接返回布尔值为真的操作数,遇到假就往后面走,
全部为假就返回最后一个操作数
例如:
true && false;========>这里的结果是false
true && true;========>这里的结果是true
var obj={};
obj && "a";========>这里的结果是a
null && "b";========>这里的结果是null
undefined && 7; ========>这里的结果是undefied
逻辑非(!):会转换其操作数为一个布尔值,然后再取反
例如:
var string=“”;
!string;========>这里的结果是true
!undefined;========>这里的结果还是true
!1;========>这里的结果是false
关系运算符:大于(>),小于(<),大于等于(>=),小于等于(<=),都是用来对数字的比较的,
如果不是数字,一般都会进行类型的转换,返回的是布尔值