数据类型的转换
转换成数值型---Number()
只能转换纯数字的字符串
语法:Number(数据)
varstr="100";
console.log(typeofstr); //string
vara=Number(str);
console.log(typeofa); //number
vara="10a";
varb=Number(a);js
console.log(b);//NaN
parseInt---转化成数值型
能转换的就转换,遇到不能转换的就放弃转换即使后面有能转换的也不转换了,直接返回已经转换的,不可以转换小数,如果开始就不能转换直接返回NaN
语法:parseInt(数据)
vara='10a'
varb=parseInt(a)
console.log(b);//10
vara="10.9";
varb=parseInt(a);
console.log(b);//10
parseFloat---转化成数值型
parseFloat---转化成数值型
能转换的就转换,遇到不能转换的就放弃转换即使后面有能转换的也不转换了,直接返回已经转换的
语法:parseFloat(数据)
vara="10.9";
varb=parseFloat(a);
console.log(b); //10.9
vara="10.912165459";
varb=parseFloat(a).toFixed(3);//保留小数点后几位
console.log(b); //10.912
区别:
Number()只能转换纯数字的字符串
可以转换布尔值 null,但是parseInt parseFloat不可以转化
console.log(Number(true));//1
console.log(Number(false));//1
console.log(Number(null));//0
console.log(Number(undefined));//NaN
console.log(parseInt(true));//NaN
parseInt只能转化成整数,parseFloat可以转化小数可以通过toFixed()控制小数位数
转换成布尔类型
Boolean()---转布尔
语法:Boolean(数据)
console.log(Boolean(1));//true
console.log(Boolean('10'));//true
console.log(Boolean(100));//true
console.log(Boolean(-100));//true
转换成false的情况
console.log(Boolean(0));//false
console.log(Boolean(''));//false
console.log(Boolean(null));//false
console.log(Boolean(undefined));//false
console.log(Boolean(false));//false
console.log(Boolean(NaN));//false
转化成字符串类型
String()----转成字符串
语法:String(数据)
console.log(typeof String(true));//string
console.log(String(100));//100
console.log(String(null));//null
console.log(String(undefined));//undefined
toString()--转成字符串
语法:数据.toString()
varstr=true
vara=str.toString()
console.log(a);//true
console.log(typeofa);//string
varstr=null
vara=str.toString()
console.log(a);//报错
varstr=undefined
vara=str.toString()
console.log(a);//报错
区别:
String可以转化null undefined 但是同toString()不能转换null undefined
语法上也存在区别
关于 == 的隐士转换
如果等号两边都是布尔值,调用Number()--->number类型
一方时number 一方时string 会将string类型调用Numer()--->number类型
一方是Boolean 一方是string 将string调用Boolean()--->boolean类型
一方是number 一方Object 将object 调用的是ValueOf()---->number类型
一般隐士转化调用的都是 Number() Boolean() toString()