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()實現轉化。
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字符類型拓展之轉義字符
布爾類型轉換toString()
};
調用方法o.toString();結果應爲“[object,object]”
4字符類型拓展之轉義字符
[外鏈圖片轉存中…(img-vgoDMlEn-1589123363661)]