類型轉換主要指,將其他數據類型轉換為(String、Number、Boolean)
類型轉換有顯式類型轉換 和隱式類型轉換
顯式類型轉換
1.1轉換為string
調用數據的 toString() 方法
null和undefined 沒有這個方法
1.2.調用String()函數,並將轉換的數據作為參數傳給函數
內部實際是調用了toString()
對於null和undefined就不調用toString(),它會將null直接轉換為“null”
a=String(undefined) "undefined" a=String(null) "null"
2.1轉換為Number
使用Number()函數
var a="123"; a=Number(a); console.log(typeof a); //結果:number // 如果: var a="abc"; a=Number(a); console.log(a); // 結果:NaN
如果是純數字的字符串,則直接轉換為數字,如果字符串中有非數字的內容,則轉換為NaN,如果字符串是一個空串或者是一個全是空格的字符串,則轉換為0;
Number(true)="1" Number(Null)=0 Number(undefined)="NaN" Number(false) = 0
2.2parseInt(string, radix) parseFloat()//只轉換10進制 專門用來對付字符串
parseInt(string, radix) 將一個字符串 string 轉換為 radix 進制的整數, radix 為介於2-36之間的數 //最好第二個參數寫上10
parseFloat()
函數解析一個參數(必要時先轉換為字符串)並返回一個浮點數。
如果對非string使用parseInt()或parseFloat()它會先將其轉換為string,然后再操作。
var a = "123px"; a=parseInt(a); console.log(typeof a); 結果:number console.log(a); 結果:123 var b=true; b=parseInt(b); console.log(typeof b); 結果:number console.log(b); 結果:NaN
3轉換為Boolean
除了0、NaN、空串、null、undefined其余都是true。對象也會轉換為true
隱式類型轉換
字符串相加 if條件語句的括號內