JavaScript中數據類型轉換

JavaScript中數據類型轉換

數據類型判斷typeof

<script>
	var a=1213;//number
    var b="hello world";//string
    var c=false;//boolean
    var d;//undefined
    var e=null;//NaN
    var o={x:"1",y:"2"};//object
</script>

typeof返回的是一個操作符,可以判斷一個值的類型。

用法

console.log(typeof a);

特別的,typeof中是函數function是返回的是function。

數字類型轉換

**Number(value);**通過這個函數可以把其他的數據類型轉換成數字類型。

如果是Boolean值,true和false將分別轉換爲1和0.

如果是數字值,只是簡單的傳入和返回。

如果是null返回的是0。

如果是undefined返回的是NaN。

如果是字符串則遵循一下規則:

如果字符串值包含數字(包括前面帶正負號的情況),則會將其轉換成十進制數值,即“1”變成1,“123”變成123,而“011”變成11(主要前面的0會被忽略)。

如果字符串包含浮點如”1.1“,則將其轉換爲對應的浮點數值。(同樣的也會忽略前導的0)。

如果字符串包含16進制格式如”oxf",則將其轉換爲相同大小的十進制數字。

如果字符串是空,則轉換爲0.

如果字符串中包含除上述格式外,則將其轉換爲NaN。

parseInt()

Number()函數在轉換字符串的比較複雜而且不夠合理,因此在處理整數的時候更常用的是parseInt()函數 int是整數的意思。

它會忽略字符串前面的空格,直至找到第一個非空格字符,如果第一個字符是數字字符,parseInt()會繼續解析第二個字符,直至解析完所有後續字符或者遇見了一個非數字字符。

<script>
	parseInt("   123");//123
    paeseInt("123a13");//123
    parseInt("123 hello");//123
    parseInt("h123");//NaN
    parseInt("+123");//123
    parseInt("!123");//NaN
    parseInt("123.123");//123 
</script>

注意“parseInt函數遇見小數或者字符串開頭的話 只會截取整數部分。

字符類型轉換toString

幾乎每個值都有toString()方法,但是調用的方法不同。

1.數字.toString()來實現轉化。

需要把數字存在一個變量中間,然後調用。

變量.toString()實現轉化。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-Ek52Yszf-1589123363658)(C:\Users\dell\Desktop\我的前端博客\images\js字符轉換.png)]

2.數組轉換爲字符串

數組轉換爲字符串的方法只需要一個個拆分出來研究即可。

[值1,值2,值3].toString();

1.值1->字符串

2.值2->字符串

3.值3->字符串

然後用,號把幾個字符串連接起來

字符串1,字符串2,字符串3

鑲嵌式數組

如果是鑲嵌式數組,即裏面有幾個小數組,那麼先把小數組變成字符串,然後再來解析大數組。

[值0,[值1,值2,值3]].toString();其過程爲下列7步

11.值1->字符串

2.值2->字符串

3.值3->字符串

4.[值1,值2,值3]->字符串1,字符串2,字符串3.

5.[值0,”字符串1,字符串2,字符串3“]

6值0->字符串0

7.字符串0,字符串1,字符串2,字符串3

如[[123],12,[456]]

先轉換爲[“1”,“2”,“3”,1,2,“4”,“5”,“6”]

然後轉換爲[“1”,“2”,“3”,“1”,“2”,“4”,“5”,“6”]

3對象轉換爲字符串

var o{x:1,r:1};

調用方法o.toString();結果應爲“[object,object]”

4字符類型拓展之轉義字符

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-vgoDMlEn-1589123363661)(C:\Users\dell\Desktop\我的前端博客\images\轉義字符.png)]

布爾類型轉換toString()

};

調用方法o.toString();結果應爲“[object,object]”

4字符類型拓展之轉義字符

[外鏈圖片轉存中…(img-vgoDMlEn-1589123363661)]

布爾類型轉換toString()

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-1SunJg8d-1589123363663)(C:\Users\dell\Desktop\我的前端博客\images\js.png)]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章