1. 程式人生 > >JS型別轉換

JS型別轉換

1.強制型別轉換

強制型別轉換指將一個數據型別強制轉換成另一種資料型別。型別轉換主要指將其他的資料型別轉換成String Number Boolean

(1)將其他資料型別轉換成String型別

方法一:呼叫被轉換型別的toString()方法。該方法不會影響到原變數,它會將轉換的結構返回。但是注意,Null和Undefined沒有toString()方法,如果呼叫它們的方法,則會報錯。 例:將number轉換成string:

var a = 123;
a = a.toString();

方法二:呼叫String()函式。呼叫String()函式,並將被轉換的資料作為引數傳遞給函式。使用String函式做型別強制轉換時,對於Number和Boolean就是呼叫toString()方法,對於null和undefined,就不會呼叫toString()方法,它會將null直接轉換成”null”,將undefined轉換成”undefined”。 例:

var a = 123;
a = String(a);

(2)將其他的資料型別轉換為Number型別

轉換方式一:使用Number()函式

1)字串

如果是純數字的字串,則直接將其轉換為數字

var a = '123';
a = Number(a);

如果字串中有非數字的內容,則轉換為NaN

var a = '123abc';
a = Number(a);
console.log(a);

控制檯會打印出NaN。

2)布林型別

布林型別轉換成數字:Ture轉成1;False轉成0。

3)Null

Null轉成數字0。

4)Undefined

Undefined轉成數字NaN。 轉換方式二:這種方式專門用來對付字串。 parseInt()

把一個字串轉換為一個整數parseFloat()把一個字串轉換為一個浮點數。parseInt()可以將一個字串中的有效的整數內容去出來,然後轉換為Number。parseFloat()和parseInt()作用類似,不同的是它可以獲得有效的小數。

var a = '123abc',
	b = '12.34.56ab';
a = parseInt(a);
b = parseFloat(b);
console.log(a);
console.log(b);

控制檯會輸出123和12.34。 如果對非String使用parseInt()或parseFloat(),它會將其轉換為String然後在操作。

(3)將其他的資料型別轉換為Boolean型別

使用Boolean()函式。

1)對於數字

除了0NaN,其餘的都是true。

2)對於字串

除了空串,其餘的都是true。

3)null和undefined

對於null和undefined都是false。

4)物件

物件預設情況下都轉換為true。

2.隱式型別轉換

1)轉換為String型別

轉換為String型別:可以為任意的資料型別加一個空串的形式將其轉換為字串。

var a = 123;
a = a + ‘’;

原理和String()函式一樣。

2)轉換為Number型別

可以通過一元的 + (+0 /1 *1)來將一個其他的資料型別轉換為Number。

var a = '123'
a = +a;

原理和Number()函式一樣。

3)轉換為Boolean型別

轉換為Boolean型別:可以為一個值取兩次反來將其轉換為布林值。

var a = 10;
a = !!a;

原理和Boolean()函式一樣。