携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第11天,点击查看活动详情
-
数据类型转换
-
转换成数值类型
1.Number(数据)方法
-
转型函数Number()可以用于任何数据类型,将其他数据类型转为数字
-
字符串:纯数字字符串转为对应数字,空字符串和空白字符串转为0,非空非纯数字字符串转为NaN
-
布尔值:true转为1,false转为0
-
undefined:转为NaN
-
null:转为0
2.parseInt()方法:字符串转整数方法
-
作用:第一,对浮点数进行取整操作;第二,将字符串转为整数数字
-
对数字取整功能,直接舍弃小数部分,只保留整数;将字符串转为整数数字,也包含取整功能
-
字符串中,必须是纯数字字符串或者数字字符开头的字符串,才能转为正常数字,且只取整数部分,如果不是数字打头的字符串,会转换为NaN
-
扩展:方法有第二个参数,值为2-36之间的整数,表示的是进制
-
注意:1.如果没有第二个参数:如果出现以0x/0X开头的字符串,会自动按照对应的十六进制转为整数;如果出现0/0o/00开头的字符串,ES3中会按照八进制进行转换,而ES5中默认按照十进制转换(比如0o123,转换结果为0);如果出现以其他字符开头的字符串,都按照十进制进行转换。因此为了避免解析的不一致问题,要指定第二个参数进制
-
举例:以下值输出结果均为15:parseInt(“15,123”,10);parseInt(”FXX123”,16);parseInt(”021”,8)(因为021是八进制数,对应的十进制为17,此时这里的八进制会将17识别为八进制,故值为15);parseInt(”15*3”,10);parseInt(”15e2”,10); parseInt(”15px”,10);parseInt(”12”,13)。其他情况:parseInt(“0.000000000006”,10)输出结果为0;parseInt(0.000000000006,10)输出结果为6,因为浏览器会转换为6e^12
3.parseFloat()方法:字符串转浮点数方法
-
作用:将字符串转为浮点数数字
-
要求:满足浮点数数字字符必须在字符串开始,如果不在开始返回值都是NaN
4.转换成布尔类型
-
Boolean(数据)方法
-
转型函数Boolean()可以用于任何数据类型,将其他数据类型转为布尔类型的值。
-
转为false:NaN、0、“”空字符串、null、undefined
-
转为true:非0、非NaN数字、非空字符串
-
-
-
应用
-
工作中,利用变量接收prompt()语句返回的用户输入的数据,检测数据类型后,得到的是字符串类型
-
如果想要获取的是数字类型的数据,则需要先将得到的字符串转数字,避免出现字符串参与数字加法运算等
-