JS基礎_相等運算符
阿新 • • 發佈:2017-10-12
utf true char -- 通過 ont false n) ber
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基礎_相等運算符