強制數(shù)據類型轉換:指的是一個數(shù)據類型轉換為其他數(shù)據類型 String number 或 boolean
將其他數(shù)據類型轉換為String
方式一:(強制類型轉換)
調用被轉換數(shù)據的toString()方法
- 例子:
var a = 123;
a = a.toString();
- 注意:這個方法不適用于null和undefined
由于這兩個類型的數(shù)據中沒有方法散吵,所以調用toString()時會報錯。
方式二:(強制類型轉換)
調用String()函數(shù)
- 例子:
var a = 123;
a = String(a);
- 原理:對于Number Boolean String都會調用他們的toString()方法來將其轉換為字符串,
對于null值轧坎,直接轉換為字符串"null"客税。對于undefined直接轉換為字符串"undefined"
將其他數(shù)據類型轉換為number
方式一:使用number()函數(shù)
var a ="123";
a = number(a);
方式二:當字符串有非字符串時,截取有效數(shù)字
- 調用parseInt()或parseFloat() :這兩個函數(shù)專門用來將一個字符串轉換為數(shù)字的
- parseInt():可以將一個字符串中的有效的整數(shù)位提取出來,并轉換為Number
- 例子:
var a = "123.456px";
a = parseInt(a); //123
- 如果需要可以在parseInt()中指定一個第二個參數(shù)亿眠,來指定進制
- parseFloat():可以將一個字符串中的有效的小數(shù)位提取出來糠赦,并轉換為Number
- 例子:
var a = "123.456px";
a = parseFloat(a); //123.456
注:如果對非String 調用parseInt()或parseFloat()?兩個函數(shù)時会傲,會現(xiàn)將其轉換為String,然后在操作拙泽。
轉換的其他情況:
1.字符串 --> 數(shù)字
- 如果字符串是一個合法的數(shù)字淌山,則直接轉換為對應的數(shù)字
- 如果字符串是一個非法的數(shù)字(非字符串),則轉換為NaN
- 如果是一個空串或純空格的字符串顾瞻,則轉換為0
2.布爾值 --> 數(shù)字
- true轉換為1
- false轉換為0
3.空值 --> 數(shù)字
- null轉換為0
4.未定義 --> 數(shù)字
- undefined 轉換為NaN
其他數(shù)據類型轉換為Boolean:
方式一:
使用Boolean()函數(shù)
- 例子:
var s = "false";
s = Boolean(s); //true
- 轉換的情況
字符串 --> 布爾
- 除了空串其余全是true
數(shù)值 --> 布爾
- 除了0和NaN其余的全是true
null泼疑、undefined ---> 布爾
- 都是false
對象 ---> 布爾
- 都是true