JS基础_相等运算符

  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>
原文地址:https://www.cnblogs.com/ZHOUVIP/p/7653347.html