目录

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

series改变成数值 series转化为array_javascript

series改变成数值 series转化为array_series改变成数值_02

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

series改变成数值 series转化为array_字符串_03

series改变成数值 series转化为array_字符串_04

2 转换为字符串

2.1 toString()

2.1.1 数值到字符

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

series改变成数值 series转化为array_series改变成数值_05

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

series改变成数值 series转化为array_series改变成数值_06

2.1.2 布尔到字符

series改变成数值 series转化为array_字符串_07

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

series改变成数值 series转化为array_javascript_08

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

series改变成数值 series转化为array_字符串_09

series改变成数值 series转化为array_JSON_10

series改变成数值 series转化为array_JSON_11

series改变成数值 series转化为array_series改变成数值_12

2.2  String()

2.2.1  数值到字符

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

series改变成数值 series转化为array_javascript_13

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

series改变成数值 series转化为array_javascript_14

2.2.2  布尔到字符

series改变成数值 series转化为array_JSON_15

series改变成数值 series转化为array_javascript_16

3  转换为数字型

3.1  取出整数值 parselnt()

3.1.1  字符到整数

series改变成数值 series转化为array_series改变成数值_17

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

series改变成数值 series转化为array_javascript_18

3.1.2  布尔到整数

series改变成数值 series转化为array_JSON_19

发现转为了NaN

series改变成数值 series转化为array_javascript_20

3.1.3  其他进制转换为10进制

这个是二进制

series改变成数值 series转化为array_字符串_21

series改变成数值 series转化为array_JSON_22

这个是16进制

series改变成数值 series转化为array_字符串_23

series改变成数值 series转化为array_javascript_24

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

3.2.1  字符转浮点

series改变成数值 series转化为array_字符串_25

series改变成数值 series转化为array_series改变成数值_26

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

series改变成数值 series转化为array_series改变成数值_27

series改变成数值 series转化为array_javascript_28

3.3.2  布尔转浮点

series改变成数值 series转化为array_javascript_29

转为NaN

series改变成数值 series转化为array_javascript_30

3.4  保留原值不变 Number()

3.4.1  字符转数值

series改变成数值 series转化为array_JSON_31

series改变成数值 series转化为array_进制转换_32

整形也一样

series改变成数值 series转化为array_series改变成数值_33

series改变成数值 series转化为array_字符串_34

3.4.2  布尔转数值

series改变成数值 series转化为array_javascript_35

true转为1,false转为0

series改变成数值 series转化为array_字符串_36

3.5  特殊字符

如果你乱写一个字符串

series改变成数值 series转化为array_JSON_37

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

series改变成数值 series转化为array_series改变成数值_38

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

series改变成数值 series转化为array_进制转换_39

series改变成数值 series转化为array_javascript_40

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

4  转换为布尔型 Boolean()

我们直接放在一起写了

series改变成数值 series转化为array_JSON_41

series改变成数值 series转化为array_进制转换_42

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

其余的值都会转换为true

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

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

series改变成数值 series转化为array_字符串_43

series改变成数值 series转化为array_进制转换_44

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

series改变成数值 series转化为array_javascript_45

series改变成数值 series转化为array_JSON_46

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"}]}

series改变成数值 series转化为array_字符串_47

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>

series改变成数值 series转化为array_series改变成数值_48

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

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

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

series改变成数值 series转化为array_JSON_49

series改变成数值 series转化为array_进制转换_50

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

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

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

series改变成数值 series转化为array_javascript_51

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

series改变成数值 series转化为array_字符串_52