本章節介紹一下javascript中號運算子的用法,需要的朋友可以做參考。
等號運算子最為基本的用法就是比較兩個運算數是否相等,看如下程式碼實例:
如果兩個運算元相等,那麼回傳值就是true,否則回傳false。
上面是最基本的用法,下面再來介紹一下它相對比較特殊的幾種情況。
上面的程式碼回傳值是true。
不少朋友可能會有疑問,一個是字串,一個是數值類型,怎麼回傳值是true,當然這在c#或java肯定是錯誤的,但是在js中這一切都不是問題,會進行隱式資料類型轉換,字串會嘗試轉換為數字。
再來看一段程式碼實例:
上面的程式碼也會回傳true,因為true也會進行隱含轉換,它會轉換為1,false將會轉換為false。
下面再看一段程式碼實例:
一個物件竟然可以和一個數字直接量比較大小,且回傳值是true。
這是因為物件會先呼叫valueOf()方法,如果沒有此方法則嘗試呼叫toString()方法。
javascript的兩個等號和三個等號的區別:
在javascript程式碼經常看到三個等號和兩個等號的使用,以下就介紹一下它們兩者的差異是什麼。
程式碼實例:
實例一:
實例二:
上面你的程式碼示範了兩個運算子的,下面介紹一下它們兩者的差異。
三個等號全等運算子:
既然是全等運算符,那麼兩個運算數必須完全一樣才能夠相等,具體比較規則如下:
1.如果兩個運算是值型,那麼兩個運算元必須完全相等才會相等。
2.如果是引用類型,兩個操作數必須指向同一個物件才會相等。
兩個等號運算子:
這個運算子比較博愛一些,在比較的時候如果兩個運算元的型別不同,會進行型別轉換,具體規則如下:
1.如果是資料型別相同的值型,那麼比較規則和全等運算子相同。
2.如果兩個操作數型相同,那麼它們也是有可能相同的:
a:如果一個是null、一個是undefined,那麼兩個是相同的。
b:如果一個是字串,一個是數值,把字串轉換成數值再進行比較。
c:如果任一值是true,把它轉換成1再比較,如果任一值是false,把它轉換成0再比較。
d:如果一個是對象,另一個是數值或字串,把對象轉換成基礎類型的值再比較。物件轉換成基礎類型,利用它的toString或valueOf方法。
以上就是本文的全部內容了,希望大家能夠喜歡。