1、类型转换
Number String Boolean undefined null
2、string类型转换为数值类型
2-1纯数字的字符串
var str = '1000';
console.log(Number(str)); 返回值1000
console.log(typeof Number(str)); 检测类型为Number
2-2数字开头的字符串
var str = '100px';
console.log(Number(str)); 返回值NaN
console.log(typeof Number(str)); 检测类型为Number
2-3其他类型的字符串
var str = '内容';
console.log(Number(str)); 返回值NaN
console.log(typeof Number(str)); 检测类型为Number
3、布尔类型转换为数值类型
3-1、true返回值为1
var flag = true;
console.log(Number(flag)); 返回值1
console.log(typeof Number(flag)); 检测类型为Number
3-2、false返回值为0
var flag = false;
console.log(Number(flag)); 返回值0
console.log(typeof Number(flag)); 检测类型为Number
4、undefined类型转换数值类型
//返回值都为NaN
var u = undefined;
console.log(Number(u)); 返回值NaN
console.log(typeof Number(u)); 检测类型为Number
5、null类型转为数值类型
//返回值都为0
var n = undefined;
console.log(Number(n)); 返回值0
console.log(typeof Number(n)); 检测类型为Number
6、其他类型转为整数类型,浮点数
ParseInt()整数类型
var n = '100px'
console.log(ParseInt(n)); 返回值为100
console.log(typeof ParseInt(n)); 检测类型为Number
ParseFloat()浮点数
var n = '100.1px'
console.log(ParseInt(n)); 返回值为100.1
console.log(typeof ParseInt(n)); 检测类型为Number
异同点:ParseInt()和ParseFloat()和Number()
ParseInt() 100.1px---->100
ParseFloat() 100.1px---->100.1
Number() 100.1px---->NaN
7、转为数值类型
Number()
100px -----> NaN
"张三" ----->NaN
100 ------>100
ParseFLoat()
'100.1px' ---->100.1
"张三" -----> NaN
ParseInt()
100.1px ---100
"张三" ----NaN
8、转为字符串类型
String() 什么都可以转
toString() 不可以转undefined和null
8-1、string()
什么都可以转
var num = 100/"张三"
console.log(String(num)); 返回值100/"张三"
console.log(typeof String(num)) 检测类型为String
8-2、toString()
不可以转undefined和null
var num = 100/"张三"
console.log(num.String()); 返回值100/"张三"
console.log(typeof num.String()); 检测类型为String
9、转换为布尔类型
Boolean()
0 -0 "" null undefined NaN false 返回值为false
其他返回值为true
9-1、返回值为false
var f = 0
console.log(Boolean()); 返回值false
console.log(typeof Boolean()); 检测类型为Boolean
9-2、返回值为true
var f = "12px"
console.log(Boolean()); 返回值true
console.log(typeof Boolean()); 检测类型为Boolean