比较运算符类型:
>(大于)
<(小于)
>=(大于等于)
<=(小于等于)
==(等于)
===(绝对的等于包括字符类型)
!= 不等于
!==(字符或者字符类型不一样,或者值和类型都不一样)
比较运算符的结果:
boolea类型,即false和true
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<!-- 比较运算符:>(大于) <(小于) >=(大于等于) <=(小于等于) ==(等于) ===(绝对的等于包括字符类型) != 不等于 !==(字符或者字符类型不一样,或者俩都不一样) -->
<!-- 比较运算符的结果一定是boolean类型 -->
<script>
var a=20;
var b=50;
var c=60;
var d="20";
var e=20;
console.log(a>b);//false
console.log(a>=b);//false
console.log(a<b);//true
console.log(a<=b);//true
console.log(a==e);//true
console.log(a===e);//true
console.log(a===d);//flase
console.log(a!=b);//true
console.log(a!=e);//flase
console.log(a!=d);//flase
console.log(a!==d);//true
console.log(a!==e);//flase
</script>
</body>
</html>
但是,在练习过程中我发现了一个很有意思的事情,就是:
undefined和null在比较运算符(==)是true,意味着他俩值相等,我就很疑惑,就查了查,解释如下:
规范中提到, 要比较相等性之前,不能将 null 和 undefined 转换成其他任何值,并且规定null 和 undefined 是相等的。
NaN是不等于自身的,这个也很神奇,于是我就自己查了查解释如下:
NaN不等于任何值,甚至是他自身。值和类型都不一样。
console.log(undefined==null);//true
console.log(NaN==NaN);//NaN不等于任何值,甚至是他自身。值和类型都不一样。
console.log(NaN!=NaN);//true
console.log(NaN!==NaN);//true