8.数据转换、关键字tpyeof

目录

1  返回变量类型 typeof() 与 typeof

2 转换为字符串

2.1 toString()

2.1.1 数值到字符

2.1.2 布尔到字符

2.1.3  将10进制转换为其他进制

2.2  String()

2.2.1  数值到字符

2.2.2  布尔到字符

3  转换为数字型

3.1  取出整数值 parselnt()

3.1.1  字符到整数

3.1.2  布尔到整数

3.1.3  其他进制转换为10进制

3.2  取出浮点型值(原值) parseFloat()

3.2.1  字符转浮点

3.3.2  布尔转浮点

3.4  保留原值不变 Number()

3.4.1  字符转数值

3.4.2  布尔转数值

3.5  特殊字符

4  转换为布尔型 Boolean()

5  将字符串转换为表达式 eval()

6  JSON的转换

6.1  JSON与XML

6.2  将JS变量转变为JSON字符串 JSON.stringify()

6.2  将JSON字符串转变为JS变量 JSON.parse()


1  返回变量类型 typeof() 与 typeof

基本上会返回该参数的变量名称,部分变量会返回object

typeof在js中不仅有函数,还有关键字,功能相同,用法与typeof()类似

2 转换为字符串

2.1 toString()

2.1.1 数值到字符

toString()是变量的内置方法,所以放在变量的后面

我们发现只有返回值变为了str,但变量本身没变

2.1.2 布尔到字符

蓝色是布尔型,黑色是字符串型

2.1.3  将10进制转换为其他进制

2.2  String()

2.2.1  数值到字符

String()是JS的内置方法,所以将变量作为参数放入其中

同样只是返回值变为了str,变量本身没变

2.2.2  布尔到字符

3  转换为数字型

3.1  取出整数值 parselnt()

3.1.1  字符到整数

我们发现原本内容是浮点数的字符串,现在变成了整数,而且不是四舍五入,而是直接砍掉小数部分

3.1.2  布尔到整数

发现转为了NaN

3.1.3  其他进制转换为10进制

这个是二进制

这个是16进制

3.2  取出浮点型值(原值) parseFloat()

3.2.1  字符转浮点

如果你是整形它也不会给你加小数部分

3.3.2  布尔转浮点

转为NaN

3.4  保留原值不变 Number()

3.4.1  字符转数值

整形也一样

3.4.2  布尔转数值

true转为1,false转为0

3.5  特殊字符

如果你乱写一个字符串

parseInt与parseFloat会做出响应处理,Number会转换为NaN(字符串前面如果乱写的话这三个都是NaN)

所以如果是后面带单位px,deg这种,不要使用Number进行转换

parseFloat由于带小数位,所以处理速度会比parseInt慢一些

4  转换为布尔型 Boolean()

我们直接放在一起写了

总的来说,我们发现 空,否定的值会被转换为false,如'',0,NaN,null,undefined。

其余的值都会转换为true

5  将字符串转换为表达式 eval()

如果是函数的话会直接执行

如果是变量,会返回去掉引号后的变量

6  JSON的转换

JSON的英文全称是 Javascript Object Notation(Javascript对象表示法),由数组与对象嵌套组成,对象中的值可以是 数字,字符串,布尔值,null,数值,对象。

JSON的本质是字符串

按规则来讲

  • 属性名必须用双引号包裹
  • JSON中值的字符串(包括子级字符串)必须包裹在双引号内(单引号是不合法的)
  • 表示不存在是值要用null(undefined是不合法的)
  • 值不可以是函数
  • JSON中不能写注释
  • JSON最外层必须是对象或数组

6.1  JSON与XML

JSON相较于xml处理起来比较方便,大小也更小,下面是两个表述同样信息的文件,我们可以对比着看一下

JSON

{"boxes":[{"box":{"xmax":609,"xmin":473,"ymax":390.5,"ymin":260.5,"confidence":""},"label_id":"1","sub_labels":[],"area":17680,"difficult":"","truncated":"0","pose":"Unspecified"}]}

XML 

<?xml version="1.0" encoding="UTF-8"?><annotation><filename>0.jpg</filename><folder>image</folder><segmented>0</segmented><size><width>640</width><height>480</height><depth>3</depth></size><object><name>Cola</name><label_id>1</label_id><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>473</xmin><xmax>609</xmax><ymin>261</ymin><ymax>391</ymax></bndbox></object><sub_labels/></annotation>

6.2  将JS变量转变为JSON字符串 JSON.stringify()

将数据对象转换为字符串的过程叫做序列化

JSON字符串 = JSON.stringify(JS变量) 将JS变量转变为JSON字符串

6.2  将JSON字符串转变为JS变量 JSON.parse()

将字符串转换为数据对象的过程叫反序列化

JS变量 = JSON.parse(JSON字符串) 将JSON字符串转变为JS变量

  • 只有JSON字符串可以作为参数传入JSON.parse(),直接给a的两侧加双引号是不行的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Suyuoa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值