JavaScript中==和===詳解及使用場景

=== 和 ==的區別

我們在其它的語言裏判斷相等都是使用==, 我們在JS裏面第一次接觸到"===",也是感覺挺好奇的。

=== 表示恆等,首先比較兩邊的變量數據類型是否相等,其次比較兩邊的變量的數值是否相等;

(1)如果類型不同,就一定不相等

(2)如果兩個都是數值,並且是同一個值,那麼相等;如果其中至少一個是NaN,那麼不相等。(判斷一個值是否是NaN,只能使用isNaN( ) 來判斷)

(3)如果兩個都是字符串,每個位置的字符都一樣,那麼相等,否則不相等。

(4)如果兩個值都是true,或是false,那麼相等

(5)如果兩個值都引用同一個對象或是函數,那麼相等,否則不相等

(6)如果兩個值都是null,或是undefined,那麼相等

== 表示相等即僅僅比較兩邊變量的數值是否相等

(1)如果兩個值類型相同,再進行三個等號(===)的比較

(2)如果兩個值類型不同,也有可能相等,需根據以下規則進行類型轉換在比較:

1)如果一個是null,一個是undefined,那麼相等

2)如果一個是字符串,一個是數值,把字符串轉換成數值之後再進行比較

建議

建議儘量都使用===,原因如下:

一致性:使用==對一致性沒有任何好處,那麼爲什麼不避免使用呢。

簡單和性能:一般來說,===是最簡單的操作符,因爲它不用進行類型轉換,

JavaScript引擎的性能參差不齊,但是在大部分瀏覽器中=速度更快。

即使會自動轉換,但並不總是按你需要的方式轉換:如6+“21”;//“621”。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章