javascript中常见的数据类型转换总结
Posted 94-lucky
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript中常见的数据类型转换总结相关的知识,希望对你有一定的参考价值。
1.任意类型--->字符型
1)String
var a=35.278, b=true, c, d=null; // 强制转换 a=String(a); b=String(b); c=String(c); d=String(d); console.log(a,b,c,d); 结果: 35.278 true undefined null
2)toString
如果直接使用就是转换为字符串,如果加入参数数值2-36之间,得到对应的进制,字符型
var a=35.278, b=true, c, d=null; // 强制转换 a=a.toString(2); b=b.toString(); c=c.toString(); ×
d=d.toString(); ×
console.log(a,b,c,d); 注: 1.toString()中的参数是转换成对应的进制,范围是2-36 2.undefined,null不能使用toString
3)toFixed
将数值转换为字符串并且保留几位小数,参数是任意正整数,具备四舍五入的功能
var a=35.278; a=a.toFixed(2); console.log(a) 结果: 35.28 注:()内的参数是保留的小数,只能是正整数。
4).科学计数法
var a=35.278; var b=46.325; a=a.toPrecision(1) 有效数字 b=b.toExponential(4); 小数点后几位 console.log(a,b); 结果:4e+1 4.6325e+1
总结:数值型,布尔型,undefined,null都可以转换成字符型,控制台字体颜色为黑色
2.任意--->数值型
1)Number
var a="a", b="24.56", c="5a", d=true, e=false, f, g="101", i="FF", h=null,
g=""; // 强制转换为数值 a=Number(a); // 如果字符不是数字,转换后变为NaN b=Number(b); // 如果字符串内是纯数字,转换后为数字 c=Number(c); //如果字符串是由字符和数字组成,通过Number转换后是NaN d=Number(d); //布尔值通过Number转换,true--->1,false---->0 f=Number(f); //如果是undefined型,转换后就变为NaN h=Number(h); // null转换后变为0
g=Number(g); //空字符转换后为0 console.log(a,b,c,d,f,h); 结果:NaN 24.56 NaN 1 NaN 0 0
总结:只有纯数字的字符串,布尔型(false,true),null,空字符这5个转换数值型后是有数值,别的都是NAN,(NAN是数值型的非数值)
2)parseInt
将字符串转换为整形
var a="ff", b="5a"; a=parseInt(a,16); // 1.可以取整,不四舍五入,2.可以按照第二个参数将字符串转进制位10进制,toString()的逆转换
console.log(g);
b=parseInt(b); //从开始到第一个字符为止的内容转换为字符串,第一个是字符就会变成NaN,取整功能,这点要和Number分清楚,对于"5a"这种字符串,Number的结果是NAN
console.log(b)
布尔值转换是NaN,会自动转换为字符,然后再转数值
var d="false", h="null"; d=parseInt(d); console.log(d); h=parseInt(h); console.log(h); 结果: NAN NAN
3)parseFloat
将带有小数的字符转换为浮点数
var b="35.56" b=parseFloat(b); console.log(b); 结果: 35.56
3.任意--->布尔型
var a="", b=0, c, d=null, e=NaN; a=Boolean(a); b=Boolean(b); c=Boolean(c); d=Boolean(d); e=Boolean(e); console.log(a,b,c,d,e); 结果:false false false false false
总结:除了"",0,false,undefined,null,NaN,其他任何内容转为布尔值都是true
4.任意--->Object
var a=5; a=Object(a); console.log(a); 结果: Number {5}__proto__: Number[[PrimitiveValue]]: 5
var obj={a:1,b:2}; obj=obj.toString(); console.log(obj); 结果:[object Object] 只有对象转换成字符型,才能使两个object
以上是关于javascript中常见的数据类型转换总结的主要内容,如果未能解决你的问题,请参考以下文章