< > >= <= != === !==
不同数据类型进行关系运算
一.和其他运算符一样,当关系运算符操作非数值时,要遵循以下规则
1、 两个操作数都是数值,则数值比较;
2、 两个操作数都是字符串,则比较两个字符串对应的字符串编码值(Asiic)(按位比较,从左到右);
ASIIC码是电脑内部,每一个字符和字符对于编码的一张表
①如果是两个单个字符进行比较,直接比较字符的ASIIC码值
②按位比较,如果比较出结果,则直接返回结果,不再往后比较
‘abcd’ > ‘adcb’ a=a 下一个 b<d 不成立返回false
3、 两个操作数有一个是数值,则将另一个转换为数值,在进行比较;
1==true 返回true 因为true转成数字是1
二.在相等和不等的比较上,如果操作数是非数值,则遵循以下规则
1、 一个操作数是布尔值,则比较之前将其转换为数值,false转成0,true转成1;
2、 一个操作符是字符串,则比较之前将其转成数值在比较;
3、 一个操作数是NaN,则==返回false,!=返回true,并且NaN和自身不等;
null==
undefined 返回true;
null==
0 返回false
false==
0返回true
true==
1返回true
4、 ===
与==
区别:==
仅判断数值是否相等,===
判断数据类型和数值是否恒等;
当然你也可以在转换之前,将其转成数值型,他们还是相等的