1.强制转换
转为数字类型
number() // 转换为数字型
代码:
number(‘10’) // 10
number(‘abc’) // NaN
number(true) // 1
number(false) // 0
number(null) // 0
number(undefined) // NaN
parseInt() // 转为数字,向下取整
注:从被转的数据中,从前往后获取整数,找到一个就不会再找了,只找整数开头的
代码:
parseInt(‘12.345’) // 12
parseInt(‘12abc’) // 12
parseInt(‘abc12’) // NaN
parseInt(true) // NaN
parseInt(false) // NaN
parseInt(undefined) // NaN
parseInt(null) // NaN
注:这些字符必须带有数字且数字开头,不然全是NaN
parseFloat() // 转为数字,整数,小数
代码:
parseFloat(‘12.345’) // 12.345
parseFloat(‘12.345abc’) // 12.345
parseFloat(‘abc12.345’) // NaN
parseFloate(true) // NaN
parseFloat(false) // NaN
parseFloat(undefined) // NaN
parseFloat(null) // NaN
注:这些字符必须带有数字且数字开头,不然全是NaN
转字符串
String(内容)
内容.String()
没什么限制,都可以转成字符串
转布尔类型boolean()
- 数字0转布尔类型是false,其他数字都是true
- 字符串转布尔类型,空字符串是false,其他都是true
- 数字0,空字符串,undefined,null转成false,其他的数据都是true
总结: 数据转布尔类型的规律:数字0,空字符串,undefined,null转成false,其他的数据都是true
2.隐式转换
1.当 + 左右两边有一个是字符串的时候,另一个也会悄悄转成字符串,进行拼接
2.数学运算符号会将左右两边都转成数字进行算数运算 - 当左右两边有一个是字符串的时候,+号就会拼接,当左右两边没有一个字符串,+也可以将左右两边转成数字
3.当比较运算符左右两边有一个是数字的话,另一个也会悄悄转成数字进行大小比较
补充:
prompt 用户输入的都是字符串
var n = + prompt(‘输入:’)
var n = prompt(‘输入:’) - 0
可以将字符转为数字