强制类型转换
指将一个数据类型强制转换成其他的数据类型,类型转换主要是指,将其他的数据类型,转换为 String Number Boolean
1.将其他类型转成String
方式一:调用被转换数据类型的toString()方法,该方法不会影响到原变量,它会将转换的结果返回 。但注意,null和undefined这两个值没有toString()方法,如果调用会报错
方式二:使用String()函数,并将被转换的数据作为参数传递给函数, 使用String()函数做强制类型转换对于Number和Boolean实际上就是调用toString()方法, 但是对于null和undefined,就不会调用toString()方法,会将null和undefined直接转成"null"和"undefined"
var a = 123
console.log(a);//123
// 调用toString()方法
var b = a.toString();
console.log(b);// "123"
console.log(typeof b);// string
console.log(typeof a);// number
// 调用String()函数
var c = String(a)
console.log(typeof c);// string
console.log(typeof a);// number
2.将其他类型转成Number
方式一:使用Number()函数
字符串->数字
1.纯数字的字符串可直接转成数字
2.有非数字内容,则转成NaN
3.如果是一个空串或全是空格的的字符串,则转为0
布尔值->数字
1.true 为1
2.false 为0
Null->数字 0
Undefined->数字 NaN
方式二:专门用来对付字符串
parseInt()
可以将字符串中的有效整数内容读出来,从左大到右读,碰到非数字停止
parseFloat()
和 parseInt()类似,不同的是它可以获得有效的小数
var d = "123"
// 使用Number()函数,将 d转换为Number类型
var f = Number(d)
console.log(typeof f);// number
// 使用parseInt()函数,将 d转换为Number类型
var k="1230px"
k=parseInt(k)
console.log(k);//1230
3.将其他类型转成Boolean
使用Boolean()函数,
数字->布尔 除了0都是true
字符串->布尔 除了空串都是都是true
null和undefined都会转成false
对象也会转成true
var x=123 //true
x=-123//true
x=0//false
x=NaN//falze
//调用Boolean()函数将x转成布尔值
var y= Boolean(x )