這篇文章我們帶給大家的內容是介紹JavaScript中==和===運算子之間的差異是什麼?有一定的參考價值,有需要的朋友可以參考一下,希望對你們有幫助。
首先我們要知道:JavaScript中'=='運算子表示抽象相等;而,'===='運算子表示嚴格相等
#。下面我們來看看JavaScript中==和===運算子的差異是什麼?
'=='運算子會在進行相等比較之前會進行必要值的型別轉換。簡單來說,就是先把值轉換成一樣的型別再進行相等比較。就算比較的值的類型不相同,也可以透過強制轉換類型成一樣的,不會發生錯誤。 '===='運算符,它不會執行類型轉換,因此如果兩個值不是相同類型,那麼當比較時,它將傳回false。如果比較兩個變量,它們的類型彼此不相容,則會產生編譯錯誤。 範例1:數字9與字元「9」比較<script> // 字符 "3" 被转换成 数字 3 //因此返回 true document.write(9 == "9"); // 换行 document.write('<br>') // 这里没有类型转换发生, // 因此返回 false document.write(9 === "9"); </script>
<script> // 字符串对象类型转换为字符串文字 // 因此,返回 true document.write("hello" == new String("hello")); // 换行 document.write('<br>') // 没有进行类型的强制转换 //因此,返回 false document.write("hello" === new String("hello")); </script>
<script> document.write('==:<br>'); // 这里 字符“1” 被转换为true(布尔类型) // 因此,返回 true document.write(true == '1'); document.write('<br>') // 这里 数字1 被转换为true(布尔类型) // 因此,返回 true document.write(true == 1); document.write('<br>') // 没有类型转换,因此 返回 false document.write('==:<br>'); document.write(true === '1'); document.write('<br>') document.write(true === 1); </script>
說明:
1、對於string,number等基礎型別比較時,==和===是有差別的==,是進行「值」的比較;===,是進行「值」和類型的比較,必須值」和型別都一致,才會回傳true。2、對於Array,Object等高階類型比較時,==和===是沒有區別的3、基礎型別與高階型別比較時,==和===是有差別的對於==,會將高階轉換為基礎類型,是進行「值」比較對於===,因為類型不同,所以結果為false
總結:
以上就是本篇文章的全部內容,希望能對大家的學習有所幫助。 ###以上是JavaScript中==和===的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!