為什么需要類型轉換?
JavaScript是弱數據類型:JavaScript不知道變量到底屬于哪種數據類型,只有賦值了才清除
使用表單,prompt獲取的數據默認為字符串類型,此時不能直接進行算數運算
隱式轉換
某些運算符被執行時,系統內部自動將數據類型進行轉換,這種轉換被稱為隱式轉換。
規則:
+號兩邊只要有一個字符串,都會把另一個轉換為字符串
除了+以外的算數運算符,比如-*/等都會將數據轉換為數字類型
顯式轉換?
隱式轉換規律并不清晰,大多是靠經驗總結的規律,為了避免因隱式轉換帶來的問題,通常根邏輯需要對數據進行顯示轉換。
轉換為數字型
- Number(數據)
如果字符串內容里面有非數字,轉換失敗結果為NaN
NaN也是number類型的數據,代表非數字
- parselnt(數據)?
只保留整數
- paresFloat(數據)
可以保留小數
let str = '123'let a = '123.12'let b = '321.32'console.log(Number(str))console.log(parseInt(a))console.log(parseFloat(b))console.log(parseInt('html'))console.log(parseFloat('12.12px'))
?
當里面的數據是數字+字符時,轉換結果為前面的數字,但不能中間插入字符
console.log(Number('pp129.1p2pxaaa'))console.log(parseFloat('12.32pp'))console.log(Number('22p.2'))