为什么需要类型转换?
使用表单、 prompt获取过来的数据默认是字符串类型的, 此时就不能直接简单的进行加法运算
let num1 = prompt('请输入一个数:')
console.log(typeof num1)
1.隐式转换
console.log('字符串' + 1) //字符串1
console.log(2 + '2') //22
//+ 将数字转换成字符串,再进行运算
//+加号作为正号解析可以转换成数字型
比较运算符有隐式转换,>,>=,==
但是===全等,判断值和数据类型都一样才行
!==不全等,判断值和数据类型都一样才行
开发中,强烈推荐===
console.log(2 - 2) //0
console.log(2 - '2') //0
//-,*,/将字符串类型转换成数字,再进行运算
2.显式转换
编写程序时过度依靠系统内部的隐式转换是不严谨的,因为隐式转换规律并不清晰,大多是靠经验总结的规律。为了避免隐式转换带来的问题,通常根逻辑需要对数据进行显式转换。
概念:
自己写代码告诉系统该转换成什么类型
转换为数字型
Number(数据)
转换成数字类型
如果字符串内容里面有非数字,转换失败时结果为NaN(Not a Number)即不是一个数字
NaN也是number类型的数据,代表非数字
parseInt()数据
只保留整数
console.log(parseInt('14.94px'))//14
parseFloat(数据)
可以保留小数
console.log(parseInt('14.94px'))//14.94
console.log(parseInt('abc14.94px'))//NaN