js类型转换
js中有两种数据转换隐式转换和强制转换
1.隐式转换
在运算过程中,自动发生的数据类型转换
//1.数值型+字符串型
console.log(1+'2',typeof(1+'2'))//输出12 string
//2.数值型+布尔型
console.log(2+true,typeof(2+true))//输出3 number
//3字符串型+布尔型
console.log('2'+true,typeof('2'+true))//输出2true string
js中加号的作用
执行加法运算
执行字符串的拼接,前提是加号的两端至少有一个数据是字符串型
减乘除的隐式转换
如果运算符的两端不是数值,都自动转为数值型
总结:隐式转换中,如果加号中出现字符串,则数据转为字符串型;其它情况都是自动调用Number函数转为数值型。
2.强制转换
1).强制转为数值型
//Number()
Number('3') //输出 3
Number('3a') //输出 NaN
Number(true) //输出 1
Number(undefined) //输出 NaN
Number(null) //输出 0
NaN : Not a Number,不是一个数字,NaN和任何值执行运算结果都是NaN
2).强制转为整型
// parseInt() 常用于将小数或者字符串转为整型,其它都是返回NaN
// 如果要转换的字符串中以数字开头,则返回开头整数部分;
// 如果要转换的字符串中以非数字开头,则返回NaN
parseInt(10.5) //10
parseInt('5.1a') //5
parseInt('a5') //NaN
3).强制转为浮点型
parseFloat() 它的用法和parseInt几乎一致,只是常用于将字符串转为浮点型。
4).强制将数值和布尔型转字符串
//toSting()
var num = 5;
var num1 = num.toString()//'5'
加油!!! 前端开发工程师