JavaScript基础
类型转换
- 大多数情况下,我们取过来的数据类型并不是我们想要的数据类型,比如,使用表单、prompt获取的数据默认是字符串类型,此时不能直接简单的进行加法运算,需要转换变量的数据类型,即把一种数据类型的变量转换成我们需要的数据类型
隐式转换
-
某些运算符被执行时,系统内部自动将数据类型进行转换,这种转换称为隐式转换
-
规则
-
+
号两边只要有一个字符串,都会把另外一个转成字符串(+
号的左右如果有一个数据是字符串类型,则+
号会被解析为连接符;如果两边都是数值(Number)类型,则是+
号运算符)(任何数据和字符串相加结果都是字符串) -
除了
+
号以外的算术运算符(如-
、*
、/
等)都会把数据转换成数字类型 -
+
号作为正号解析可以转换成Number数字类型(如果+
号左右只有一个值,则解析的结果是正号,可用于隐式转换)
-
-
缺点
- 转换类型不明确,靠经验才能总结
显式转换
- 编写程序时过度依赖系统内部的隐式转换是不严谨的,因为隐式转换规律并不清晰,大多是靠经验总结的规律,为了避免因隐式转换带来的问题,通常根据逻辑需要对数据进行显式转换,即自己写代码告诉系统该转成什么类型
转换为数字型
-
Number(数据) (注意Number中的N要大写)
- 转换成数字类型
- 将字符串字面值转换为数字,如果字符串内容里有非数字,转换失败时结果为NaN(Not a Number),即不是一个数字
- NaN也是number数字类型的数据,代表非数字
-
parseInt(数据)
- 转换为数字型,只保留整数(采用截断而非四舍五入)
- 函数从左向右解析,若遇到非数值类型则停止解析(若数字位于字符串中间位置,则会返回NaN)
- 属于JS中的一个全局函数(不需要任何对象调用,但是可以使用浏览器对象
window
调用,其中window
可以省略)
-
parseFloat(数据)
- 转换为数字型,会保留小数
- 既可以解析整数也可以解析小数
- 经常用于过滤单位
转换为字符型
- String(数据)
- 变量.toString(进制)