1、把其他的資料型別轉換為number型別
Number()->嚴格
parseFloat/parseInt ->非嚴格
parseFloat/parseInt ->非嚴格
然後數字類型在判斷是否為有效的數字
例如:
Number("12px"); ->NaN
false
規律:
1)將布林類型轉換為數字的話true->1 false->0
2)轉換為數字的話true->1 false->0
2)以數字為數字undefined=NaN
3)把[]轉換成數字先呼叫陣列的toString方法把[]->"",然後在使用Number方法把""->0
2、把其他的資料型別轉換成布林類型
Boolean
!!
! 先轉換為布林類型,然後在取反
alse
![]->false ! ![]->true
規則:
只有0、NaN、null、undefined、""這五個轉換為布林類型的時候是false,其餘的轉換完成都是true🎠
你的條件判斷中只是單獨的一個值,它是首先把1轉換布爾類型(->true),在判斷是真還是假,如果是真條件成立,反之條件不成立
if (1) { }
if ("3px" * 3) {//->条件不成立 "3px" * 3=NaN ->false
}
if ("3px" + 3) {//->条件成立 "3px" + 3="3px3" ->true
}
登入後複製
"在JS中不僅僅是數學運算,遇到字串的時候屬於字串拼接
"-、*、/"在JS中只能是數學運算,遇到不是number類型的要強制轉換為number進行數學性運算
3、兩個值進行比較(==比較的,===比較資料型別不一樣不會進行預設的轉換),如果左右兩邊的資料型別不一樣,我們需要遵循一套法則,進行預設的資料類型轉換
value1==value2
1)物件==物件 比較的是自己儲存的記憶體位址,如果記憶體位址不一樣就不相等 []==[]->false 各一個儲存的記憶體位址,如果記憶體位址不一樣就不相等 []==[]->false 每組陣列都是一個單獨的記憶體位址
2)物件==字串呼叫toString方法,將物件轉換為字串 []==""->true
3)物件==布林 物件轉換為數字(toString- Number),布林也轉換為數字(true->1 false->0)
[]==false ->true []->0 false->0 0==0->true
![]= =false -> ![]先把空數組轉換為布林類型然後在取反->false false==false->true
4)物件==數字物件轉換為數字 []==0->true [ ]==1->false
5)字串==布林 兩者都轉換為數字 "3"==true->false "1"==true->true
6)字串==數字 字元串轉換為數字 ""==0->true
7)布林==數位 布林轉換為數位 true==1->true true==2->false
8)null==undefined -true ===undefined ->false
null/undefined和其他的任何值都不等 null==0->false
9)NaN==NaN ->false.
以上就是本文的全部內容,希望本文的內容對大家的學習或是工作能帶來一定的幫助,同時也希望多多支持PHP中文網!
更多淺談javascript中的資料類型轉換相關文章請關注PHP中文網!