類型轉換

數據類型

1: 原始類型 Boolean Null Undefined Number String Symbol
2: 對象

顯示類型轉換


 - Number 函數
    1:數值: 轉換後還是原來的值
    2:字符串:如果可以被解析爲數值,則轉換爲對應的數值, 否則轉爲NaN     空字符串爲0
    3:布爾值:true轉爲1 false 轉爲0
    4:undefined: 轉爲NaN
	5:null: 轉爲0
	6:對象
		 1. 先調用對象自身的valueOf方法 如果該方法返回原始類型的值 則直接對該值使用Number方法 ,不在進行後續步驟
		 2. 如果valueOf返回的是複合類型的值 在調用對象自身的toString方法, 如果toString方法返回的是原始類型的值, 則對該值進行Number 方法 不在進行後續步驟
		 3. 如果toString 返回的是複合類型的值 則進行報錯
		
		
 - String 函數

    1:數值: 轉爲對應的字符串
	2: 字符串: 轉換後還是原來的值
 	3:布爾值: true 轉爲'true' false 轉爲 'false'
 	4: undefined: 轉爲'undefined'
 	5: null: 轉爲'null'
 	6: 對象 
    	1: 先調用對象自身的toString 方法 如果該方法返回原始類型的值, 則直接對該值使用String 方法 不在進行後續步驟
    	2: 如果toString 返回的是複合類型的值 在調用對象自身valueOf方法, 如果valueOf方法返回的是原始類型的值,則對該值進行String 方法 不在進行後續步驟
    	3: 如果valueOf 返回的類型是複合類型的值 則進行報錯

 - Boolean 函數
  
    1:undefined null +0 -0 NaN 空字符串 都是false
    2:其餘的都是true

隱式類型轉換


 - 四則運算 
 - 判斷語句
 - native調用
     1:console.log 轉爲字符串類型
     2:alert 字符串類型
     
 - 常見題目
    1:[]+[]
    2:[]+{}
    3:{}+[]
    4:{}+{}
    5:true+true
    6:1+{a:1}

typeof


 1: Undefined > 'undefined'
 2: Null      > 'object'
 3: Boolean	  > 'boolean'
 4: Number 	  > 'number'
 5: String    > 'string'
 6: Symbol    > 'symbol'
 7: Host object > implementation-dependent
 8: Function object  > 'function'
 9: any other object > 'object'

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