JavaScript學習總結(五)——Javascript中==和===的區別
阿新 • • 發佈:2018-12-31
一、JavaScript"=="的作用
- 當==兩邊的內容是字串時,則比較字串的內容是否相等。
- 當==兩邊的內容是數字時,則比較數字的大小是否相等。
- 當==兩邊的內容是物件或者是物件的函式屬性時,則比較記憶體地址是否相等。
二、==和===的區別
==用於一般比較,===用於嚴格比較,==在比較的時候可以轉換資料型別,===嚴格比較,只要型別不匹配就返回flase。
舉例說明:
1 <script type="text/javascript"> 2 alert("\"1\"==true的結果是:"+("1"==true)); 3 alert("\"1\"===true的結果是:"+("1"===true)); 4 alert("\"1\"==1的結果是:"+("1"==1)); 5 alert("\"1\"===1的結果是:"+("1"===1)); 6 </script>
"1" == true型別不同,"=="將先做型別轉換,把true轉換為1,即為 "1" == 1;此時,型別仍不同,繼續進行型別轉換,把"1"轉換為1,即為 1 == 1;此時,"==" 左右兩邊的型別都為數值型,比較成功!
"1" === true 左側為字元型,右側為bool布林型,左右兩側型別不同,結果為false;
"1" === 1 左側為字元型,右側為int數值型,左右兩側型別不同,結果為false;
執行結果:
總結:
==和===的區別:"==" 只要求值相等; "===" 要求值和型別都相等
文中如果有寫得不對的地方,希望朋友們指正,感激不盡!