版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
JavaScript-关系运算符
==(等于)和===(等值等型)
==仅仅比较内容,不会比较数据的类型
var a = true; // 其实boolean类型本质上是 0(false)与1(true)
var b = 1;
var c = a==b; // 这里的a与b的内容是相等的,类型不相等
===既比较内容,也比较数据的类型,所以
var d = a===b; //由于a的类型为boolean,而b的类型为number,所以类型不同;
注意:有一个比较特殊的数字NaN,它特殊到自己都不等于自己,包括==和===;
!=(不相等)和!==(不等值或不等型)
!=,如果内容不一样,则返回true,如果内容一样,则返回false,不关心类型;
!==,只有内容与类型都一样的时候,才是false,否则为true;
代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
</style>
<script type="text/javascript">
var a = true; // 其实boolean类型本质上是 0(false)与1(true)
var b = 1;
var c = a==b; // 这里的a与b的内容是相等的,类型不相等
var d = a===b;
console.log("a与b的内容一样,类型不一样");
console.log("a==b的结果为:"+c);
console.log("a===b的结果为:"+d);
var e = ("123"==123);
console.log("字符串123与数值123的对比(==)结果:"+e);
</script>
</head>
<body>
</body>
</html>
效果如下: