?1 <!DOCTYPE html> ?2 <html> ?3 ????<head> ?4 ????????<meta charset="UTF-8"> ?5 ????????<title></title> ?6 ????????<script type="text/javascript"> ?7 ??????????????8 ????????????/* ?9 ?????????????* 相等运算符用来比较两个值是否相等, 10 ?????????????* ????如果相等会返回true,否则返回false 11 ?????????????* ?12 ?????????????* 使用 == 来做相等运算 13 ?????????????* ????- 当使用==来比较两个值时,如果值的类型不同, 14 ?????????????* ????????则会自动进行类型转换,将其转换为相同的类型,然后再比较 15 ?????????????* ?16 ?????????????* 不相等 17 ?????????????* ?????不相等用来判断两个值是否不相等,如果不相等返回true,否则返回false 18 ?????????????* ????- 使用 != 来做不相等运算 19 ?????????????* ????- 不相等也会对变量进行自动的类型转换,如果转换后相等它也会返回false 20 ?????????????* ?21 ?????????????* ?????????22 ?????????????* ?=== 23 ?????????????* ????????全等 24 ?????????????* ????????- 用来判断两个值是否全等,它和相等类似,不同的是它不会做自动的类型转换 25 ?????????????* ????????????如果两个值的类型不同,直接返回false 26 ?????????????* ????!== 27 ?????????????* ????????不全等 28 ?????????????* ????????- 用来判断两个值是否不全等,和不等类似,不同的是它不会做自动的类型转换 29 ?????????????* ????????????如果两个值的类型不同,直接返回true 30 ?????????????*/ 31 ?????????????32 ????????????console.log(1 == 1); //true 33 ?????????????34 ?????????????35 ????????????var a = 10; 36 ????????????console.log(a == 4); //false 37 ?????????????38 ?????????????39 ????????????//自动进行类型转换,将其转换为相同的类型,然后再比较 40 ????????????console.log("1" == 1); //true 41 ?????????????42 ?????????????43 ????????????//大部分情况会转成number类型 44 ????????????console.log(true == "1"); //true 45 ?????????????46 ?????????????47 ????????????//没转成number类型 48 ????????????console.log(null == 0); //false 49 ?????????????50 ?????????????51 ????????????/* 52 ?????????????* undefined 衍生自 null 53 ?????????????* ????所以这两个值做相等判断时,会返回true 54 ?????????????*/ 55 ????????????console.log(undefined == null); //true 56 ?????????????57 ?????????????58 ????????????/* 59 ?????????????* NaN不和任何值相等,包括他本身 60 ?????????????*/ 61 ????????????console.log(NaN == NaN); //false 62 ?????????????63 ?????????????64 ????????????var b = NaN; 65 ????????????//判断b的值是否是NaN,那没法判断b是不是NaN?我们可以用isNaN()函数 66 ????????????console.log(b == NaN); //false 67 ?????????????68 ?????????????69 ????????????/* 70 ?????????????* 可以通过isNaN()函数来判断一个值是否是NaN 71 ?????????????* ????如果该值是NaN则返回true,否则返回false 72 ?????????????*/ 73 ????????????console.log(isNaN(b));//true 74 ?????????????75 ?????????????76 ????????????//---------------------------------------------------------------------- 77 ?????????????78 ????????????//如果不相等返回true,否则返回false 79 ????????????console.log(10 != 5); ?//true 80 ?????????????81 ????????????console.log(10 != 10); //false 82 ?????????????83 ????????????console.log("abcd" != "abcd"); //false 84 ?????????????85 ????????????//不相等也会对变量进行自动的类型转换,如果转换后相等它也会返回false 86 ????????????console.log("1" != 1); //false 87 ?????????????88 ?????????????89 ????????????//---------------------------------------------------------------------- 90 ?????????????91 ????????????//不会做自动的类型转换,如果两个值的类型不同,直接返回false 92 ????????????console.log("123" === 123); //false 93 ?????????????94 ????????????console.log(null === undefined); //false 95 ?????????????96 ?????????????97 ????????????//不会做自动的类型转换,如果两个值的类型不同,直接返回true 98 ????????????console.log(1 !== "1"); //true 99 ????????????100 ????????????101 ????????</script>102 ????</head>103 ????<body>104 ????</body>105 </html>
JS基础_相等运算符
原文地址:http://www.cnblogs.com/ZHOUVIP/p/7653347.html