为什么需要类型转换?
JavaScript是弱数据类型:JavaScript不知道变量到底属于哪种数据类型,只有赋值了才清除
使用表单,prompt获取的数据默认为字符串类型,此时不能直接进行算数运算
隐式转换
某些运算符被执行时,系统内部自动将数据类型进行转换,这种转换被称为隐式转换。
规则:
+号两边只要有一个字符串,都会把另一个转换为字符串
除了+以外的算数运算符,比如-*/等都会将数据转换为数字类型
显式转换
隐式转换规律并不清晰,大多是靠经验总结的规律,为了避免因隐式转换带来的问题,通常根逻辑需要对数据进行显示转换。
转换为数字型
- Number(数据)
如果字符串内容里面有非数字,转换失败结果为NaN
NaN也是number类型的数据,代表非数字
- parselnt(数据)
只保留整数
- paresFloat(数据)
可以保留小数
let str = '123'let a = '123.12'let b = '321.32'console.log(Number(str))console.log(parseInt(a))console.log(parseFloat(b))console.log(parseInt('html'))console.log(parseFloat('12.12px'))
当里面的数据是数字+字符时,转换结果为前面的数字,但不能中间插入字符
console.log(Number('pp129.1p2pxaaa'))console.log(parseFloat('12.32pp'))console.log(Number('22p.2'))