强制类型转换是指将一个数据类型强制转换成其他数据类型
主要是指,转换成String Number Boolean
一、转成String
//方法一 调用a的toString()方法,该方法不会影响原变量,会将编译的结果返回,
//null和undefined方法没有toString()方法,调用会报错
var a = 123
var b = a.toString()
//方法二 调用String()函数,并将a转成字符串,
//对于 Number和 Boolean 实际上就是调用的toString()方法
//但是对于null和undefined就不会调用toString()方法,会将null直接转换成"null",
//undefined直接转成"undefined"
String(a)
//方法三 通过运算符转字符串 例如+'' -0 *1 /1等方法
二、转成Number
//方法一 使用Number()函数
//字符串转数字
//1、如果是纯数字的字符串,则直接转换成数字,
//2、若字符串中有非数字的字符串,则转换为NaN
//3、若字符串是一个空串或者全是空格的字符串,则转换成0
//Number('100') 输出100
//非字符串转数字
//Number(undefined) 输出NaN
//Number(null) 输出0
//Number(false) 输出0
//Number(true) 输出1
//方法二 专门针对字符串的,如果对非字符串进行使用,会先将其转换成String,然后再操作
//parseInt()函数 把一个字符串转换成一个整数,从左到右,可以将一个字符串中的有效的整数取出来,再进行转化
console.log(parseInt('0123de'))//123
console.log(parseInt('123de'))//123
console.log(parseInt('e123de'))//NaN
console.log(parseInt('123de222'))//123
console.log(parseInt('123.122de'))//123
console.log(parseInt(true))//NaN
//parseFloat()函数 把一个字符串转换成一个数,从左到右,可以将一个字符串中的有效的小数取出来
console.log(parseFloat('123.456px'))//123.456
console.log(parseFloat('123.456.789px'))//123.456
console.log(parseFloat(true))//NaN
三、转换成Boolean
//调用Boolean()函数
console.log(Boolean(123))//true
console.log(Boolean(Infinity))//true
console.log(Boolean(0))//false