JavaScript起步(六-数据类型转换)| 一起学系列

168 阅读3分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 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()语句返回的用户输入的数据,检测数据类型后,得到的是字符串类型

    • 如果想要获取的是数字类型的数据,则需要先将得到的字符串转数字,避免出现字符串参与数字加法运算等 image.png