在javascript中,判断两个变量是否相等的操作符有两组,他们分别是:相等和不相等,全等和不全等。他们的区别就是相等和不相等是先转换然后比较,全等和不全等不转换只比较。
相等与不相等
相等是用两个等号表示,即“==”,而不相等则用叹号与等号表示,即“!=”,这两个操作符都会先转换操作数,然后在进行比较。比如:
var a = ("123" == 123);
alert(a);//结果为true
为什么结果是true呢?因为在比较之前操作数被转换了,即字符串“123”被转换成了数字123,所以会返回true。此外,如果操作数是布尔值,则true会被转换成1,而false则会被转换成0。不相等(“!=”)同理。
全等与不全等
除了不转换操作数之外,全等和相等没有区别,全等使用三个等号表示,即“===”,而不全等用一个叹号和两个等号表示,即“!==”。例子如下:
var a = ("123" === 123);
alert(a)//结果为false
var b = ("123" !== 123);
alert(b)//结果为true
因为上面两个比较值一个类型是字符串,另一个是数字,而全等不进行转换,所以a返回false,b返回true。