JavaScript操作符(关系操作符、相等操作符和条件操作符)
关系操作符用于对两个值进行比较,返回一个布尔值。关系操作符包括大于(>),小于(<),大于等于(>=),小于等于(<=)。当关系操作符用于非数值时,也要先进行数值的转换。如 var result=5>3;
1.尝试将两个操作符转换为数字;
2.如果两个操作符均为字符串,则进行字符串的比较
3.如果任一表达式为NaN,则返回false;
4.-0等于+0;
5.负无穷小于包含自身在内的任何数
6.正无穷大于包含自身在内的任何数
相等操作符,用于确定两个变量是否相等。字符串、数值、布尔值的相等比较是简单的,对象的比较很复杂。相等和不相等,先转换为同一类型,再进行比较。全等和不全等,不进行转换,直接进行比较。
1.相等和不相等
相等操作符由两个等号(==)组成,如果两个操作数相等,则返回true。不相等由感叹号和等号组成(!=),如果两个操作数不相等,则返回true。这个两个操作符都会先转换类型,再进行比较。
如果两个表达式的类型不同,则尝试将它们转换为字符串、数字或布尔值;NaN与包括其自身在内的任何值都不相等;
负零等于正零;nul与null和undefined相等;
以下情况被认为是相等的:相同的字符串,数值上相等的数字,同一对象,相同的布尔值,或者当类型不同时可以被强制转换为上述情况之一的值。
2.全等和不全等
全等操作符由3个等号(===)组成,不全等操作符(!==)。全等与不全等和上面的差不多,只不过不进行类型的转换。
如 var result= null===undefined;//false var num= "55"==55;//true var num1= "55"===55;//false
条件操作符是一种三元操作符,它java中的条件操作符类似。格式如下
test ? expression1 : expression2
var num=5>3?5:3; console.log(num);//输出5
赋值操作符由等号组成(=),作用是把右侧的值赋给左侧的变量。也包含一些复杂的赋值操作符,如*=,+=,-=,/=,%=.
var num=10;
num%=2等于 num=num%2;num*=2;num+=3;num/=3;num-=2;
逗号操作符,使用逗号操作符,可以在一条语句中进行多个操作,如 var num=12,num2=13;