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)]

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