JS的型別轉換

2022-09-02 17:36:11 字數 1272 閱讀 4708

首先我們要知道,在 js 中型別轉換只有三種情況,分別是:

我們先來看乙個型別轉換**

在條件判斷時,除了undefinednullfalsenan''0-0,其他所有值都轉為true,包括所有物件。

物件在轉換型別的時候,會呼叫內建的[[toprimitive]]函式,對於該函式來說,演算法邏輯一般來說如下:

當然你也可以重寫symbol.toprimitive,該方法在轉原始型別時呼叫優先順序最高。

let a =,

tostring() ,

[symbol.toprimitive]()

}1 + a //

=> 3

加法運算子不同於其他幾個運算子,它有以下幾個特點:

1 + '1' //

'11'

true + true//2

4 + [1,2,3] //

"41,2,3"

另外對於加法還需要注意這個表示式 'a' + + 'b'

'a' + + 'b' //

-> "anan"

因為+ 'b'等於nan,所以結果為"anan",你可能也會在一些**中看到過+ '1'的形式來快速獲取number型別, + ' ' => 0 。

那麼對於除了加法的運算子來說,只要其中一方是數字,那麼另一方就會被轉為數字

4 * '3' //

124 * //

04 * [1, 2] //

nan

如果是物件,就通過toprimitive轉換物件

如果是字串,就通過unicode字元索引來比較

let a =,

tostring()

}a > -1 //

true

在以上**中,因為a是物件,所以會通過valueof轉換為原始型別再比較值。

JS 型別轉換 強制型別轉換

js 型別轉換 強制型別轉換 一 parseint 將其他型別轉換成number型別的整數 注意 string number 1 字串中值的首字元必須是數字,轉換後才能得到具體的值 否則得到nan 2 只轉換從首字元開始的連續數字 如 2b345 轉換後只得到2 3 除了string,其他型別轉換後...

js型別轉換

js varscolor blue alert scolor.length outputs 4 js varbfound false alert bfound.tostring outputs false js varinum1 10 varfnum2 10.0 alert fnum2.tostri...

js 型別轉換

function str function tostr val function todstr val,dv function trim str function lenb str function ismobile str d 13 d 15 d if reg.test trim str retu...