js資料型別轉換

2021-10-04 06:35:37 字數 2531 閱讀 5590

在js中,資料型別大致分為字元型(string)、數值型(number)、布林型(boolean)、物件型別(object)、陣列(array)、未定義(undefined)、空(null)這幾種型別。

資料型別轉換方式有兩種:隱式轉換、強轉換

typeof這個值是用來檢視資料型別的。

正常來說,兩個不同型別的資料相加就會報錯、在我們的認知裡,一般只有數字才會相加,圖1裡a是字串型別,b是數值型別,字串和數值型的進行加法運算會隱式轉換,加法運算的時候數值型的會隱式轉換為字串型別,那麼a+b就進行了字串的乙個拼接,會變成13,字串和數值型的進行減法運算時,字串型別會隱式轉換為數值型,從而實現3-1=2。見圖1、圖2

以上這種情況一般只可能發生在弱型別語句中,當資料型別不相同時做資料運算,就會自動將兩端的資料轉換為相同型別進行運算,這就是隱式轉換。

在計算過程中,隱式轉換是不好控制的,因為有時候自己也不清楚它到底轉換成什麼樣了,因此,我們一般都會自己主動將它們強制轉換成我們所需要的型別然後再進行後面的步驟,這種方式就是強制轉換。

圖1

圖2強轉字串

string();是強制轉換為字串,定義乙個變數num為10,然後把num強轉為字串賦值給a,列印a為10,num是number型別,a是string型別。

tostring();也可以強制轉換為字串,但是string();和tostring();要注意乙個問題,前者null、undefined都可以進行轉換,但是後者實現不了。tostring();功能比string();要更強大一些,tostring();括號裡面加數字就是進製;tostring可以將任何數字轉換為任意進製。見圖3、圖4、圖5

圖3

圖4

圖5tofixed(小數點後幾位) 將數值轉換為字串,並且按照小數點四捨五入保留位數,但是有精度誤差。見圖6、圖7

圖6

圖7強轉數值

「你好」強轉為數值型別,列印顯示為nan(非數值),但是它的型別是number。純字元強轉為數值型別,顯示為nan(非數值),型別是number型別。純數字強轉為數值型別,型別是number型別。部分字元部分數字,顯示為nan(非數值)。見圖8、圖9

圖8

圖9布林值轉換成數值型別,true是1,false是0。見圖10、圖11

圖10

圖11undefined強轉為數值為nan,null強轉為數值為0。見圖12、圖13

圖12圖13強轉為整數

parseint();

純字元強轉為整數是nan,純數字強轉為整數是整數。

parseint(字元,進製);可以將指定進製方式字串轉換為10進製數值,是tostring的逆轉換。

parseint(str);表示10進製數值轉換。

parseint(str,2);表示將2進製字串轉換為數值。見圖14、圖15

圖14圖15部分數值部分字元通過parseint強制轉換,按照16進製制轉換。可以從開始轉換到字元前為止變成數值,如果第一位是字元,那麼返回nan。見圖16、圖17

圖16圖17布林值強轉為整數,都是nan。見圖18、圖19

圖18圖19undefined和null強轉為整數都是nan。見圖20、圖21

圖20圖21強轉為小數

parsefloat();和parseint類似,只不過可以保留小數字

強轉為布林值

boolean();

除了空字串、0、undefined、unll、false、nan

轉換為布林值會變成false,其它轉換都是true。

注意:空字串裡面不能有空格

by 文千千

JS資料型別轉換

js var blue alert scolor.length outputs 4 js varfalse alert bfound.tostring outputs false js varvar outputs 10 js var outputs a js var var var var ret...

JS 資料型別轉換

js 資料型別轉換 方法主要有三種 轉換函式 強制型別轉換 利用js變數弱型別轉換。1.轉換函式 js提供了parseint 和parsefloat 兩個轉換函式。前者把值轉換成整數,後者把值轉換成浮點數。只有對string型別呼叫這些方法,這兩個函式才能正確執行 對其他型別返回的都是nan not...

JS 資料型別轉換

js 資料型別轉換 方法主要有三種 轉換函式 強制型別轉換 利用js變數弱型別轉換。1.轉換函式 js提供了parseint 和parsefloat 兩個轉換函式。前者把值轉換成整數,後者把值轉換成浮點數。只有對string型別呼叫這些方法,這兩個函式才能正確執行 對其他型別返回的都是nan not...