常用的JS数据类型转换方法
2015-10-22 11:57
716 查看
JS 数据类型转换的方法有以下3种:
1)使用转换函数
2)强制类型转换
3)利用js变量弱类型特性进行转换
parseFloat() 则是转换为float型。
parseInt() 在转换过程中,会从字符串 位置0开始判断 该字符是否为有效数字,如果不是 返回 NaN(Not a Number)
如果是,则继续判断位置1,以此类推。
例:
parseInt("256blue"); //return 256
parseInt("27.5"); //return 27
parseInt("rr"); //return NaN
对二进制、八进制,甚至十进制(默认模式),都可以这样调用parseInt()方法:
parseInt("10", 2); //returns 2
parseInt("10", 8); //returns 8
parseInt("10", 10); //returns 10
如果十进制数包含前导0,那么最好采用基数10,这样才不会意外地得到八进制的值。例如:
parseInt("010"); //returns 8
parseInt("010", 8); //returns 8
parseInt("010", 10); //returns 10
parseFloat() 在转化过程中类似于parseInt(),从0位置判断是否是有效数字。
parseInt("256blue"); //return 256.0
在转换时,该函数会认为第一个小数点是合格的,但是出现多个小数点的时候,从第二个小数点位置开始,后面字符会判断为无效数字。
例:parseInt("256.45.22"); //return 256.45
parseFloat()只识别十进制形式的字符串,例如0xA将被识别为 NaN.
parseFloat("0551")前导0也将被忽略 返回 551
同时parseFloat()也没有基模式。
当要转换的值是至少有一个字符的字符串、非0数字或对象(下一节将讨论这一点)时,Boolean()函数将返回true。如果该值是空字符串、数字0、undefined或null,它将返回false。
Boolean(""); //false – empty string
Boolean("hell"); //true – non-empty string
Boolean(1006); //true – non-zero number
Boolean(null); //false - null
Boolean(0); //false - zero
Boolean(new Object()); //true – object
Number(value)——把给定的值转换成数字(可以是整数或浮点数);
Number()的强制类型转换与parseInt()和parseFloat()方法的处理方式相似,只是它转换的是整个值,而不是部分值。还记 得吗,parseInt()和parseFloat() 方法只转换第一个无效字符之前的字符串,因此 "4.5.6 "将被转换为 "4.5 "。用Number()进行强制类型转换, "4.5.6 "将返回NaN,因为整个字符串值不能转换成数字。如果字符串值能被完整地转换,Number()将判断是调用parseInt()方法还是调用 parseFloat()方法。Number(false) 0
Number(true) 1
Number(undefined) NaN
Number(null) 0
Number( "3.5 ") 3.5
Number( "36 ") 36
Number( "5.3.7 ") NaN
Number(new Object()) NaN
Number(1004) 1004
String(value)——把给定的值转换成字符串。
String()是最简单的,因为它可把任何值转换成字符串。
toString()方法,即把1转换成 "1 ",把true转换成 "true ",把false转换成 "false ",依此类推。
String()和toString()的区别是:对null或undefined值强制类型转换String()不报错,toString()报错
var s1 = String(null);//return null
var s = null;
var s2 = s.toString();//error
1)使用转换函数
2)强制类型转换
3)利用js变量弱类型特性进行转换
1:js提供了parseInt()和parseFloat()这两个转换函数。
这里输入内容parseInt() 将字符串转换为int型。parseFloat() 则是转换为float型。
parseInt() 在转换过程中,会从字符串 位置0开始判断 该字符是否为有效数字,如果不是 返回 NaN(Not a Number)
如果是,则继续判断位置1,以此类推。
例:
parseInt("256blue"); //return 256
parseInt("27.5"); //return 27
parseInt("rr"); //return NaN
对二进制、八进制,甚至十进制(默认模式),都可以这样调用parseInt()方法:
parseInt("10", 2); //returns 2
parseInt("10", 8); //returns 8
parseInt("10", 10); //returns 10
如果十进制数包含前导0,那么最好采用基数10,这样才不会意外地得到八进制的值。例如:
parseInt("010"); //returns 8
parseInt("010", 8); //returns 8
parseInt("010", 10); //returns 10
parseFloat() 在转化过程中类似于parseInt(),从0位置判断是否是有效数字。
parseInt("256blue"); //return 256.0
在转换时,该函数会认为第一个小数点是合格的,但是出现多个小数点的时候,从第二个小数点位置开始,后面字符会判断为无效数字。
例:parseInt("256.45.22"); //return 256.45
parseFloat()只识别十进制形式的字符串,例如0xA将被识别为 NaN.
parseFloat("0551")前导0也将被忽略 返回 551
同时parseFloat()也没有基模式。
2:强制类型转换
Boolean(value)——把给定的值转换成Boolean型;当要转换的值是至少有一个字符的字符串、非0数字或对象(下一节将讨论这一点)时,Boolean()函数将返回true。如果该值是空字符串、数字0、undefined或null,它将返回false。
Boolean(""); //false – empty string
Boolean("hell"); //true – non-empty string
Boolean(1006); //true – non-zero number
Boolean(null); //false - null
Boolean(0); //false - zero
Boolean(new Object()); //true – object
Number(value)——把给定的值转换成数字(可以是整数或浮点数);
Number()的强制类型转换与parseInt()和parseFloat()方法的处理方式相似,只是它转换的是整个值,而不是部分值。还记 得吗,parseInt()和parseFloat() 方法只转换第一个无效字符之前的字符串,因此 "4.5.6 "将被转换为 "4.5 "。用Number()进行强制类型转换, "4.5.6 "将返回NaN,因为整个字符串值不能转换成数字。如果字符串值能被完整地转换,Number()将判断是调用parseInt()方法还是调用 parseFloat()方法。Number(false) 0
Number(true) 1
Number(undefined) NaN
Number(null) 0
Number( "3.5 ") 3.5
Number( "36 ") 36
Number( "5.3.7 ") NaN
Number(new Object()) NaN
Number(1004) 1004
String(value)——把给定的值转换成字符串。
String()是最简单的,因为它可把任何值转换成字符串。
toString()方法,即把1转换成 "1 ",把true转换成 "true ",把false转换成 "false ",依此类推。
String()和toString()的区别是:对null或undefined值强制类型转换String()不报错,toString()报错
var s1 = String(null);//return null
var s = null;
var s2 = s.toString();//error
3. 利用js变量弱类型特性转换
<script> //eg var s= '013.365 '; var a= s-0; a= a*1; </script>
相关文章推荐
- JS运算优先级
- Loadrunner模拟JSON接口请求进行测试
- js confirm 删除提示
- 最全js表单验证
- JSP页面文件中base标记用法实例分析
- js事件绑定--支持匿名函数解除绑定
- OC中的JSON解析【简单】
- Extjs之XTemplate简单应用
- Ajax获取SSH框架下JSON对象
- JS+CSS实现的竖向简洁折叠菜单效果代码
- js刷新页面
- jsp文件上传原理
- JSP文件下载(不使用jar包)
- WebApi返回Xml和返回json处理方法
- a标签中调用js的几种方法
- JS实现不使用图片仿Windows右键菜单效果代码
- 验证码的读秒数-js
- JS实现新浪博客左侧的Blog管理菜单效果代码
- JS实现判断滚动条滚到页面底部并执行事件的方法
- js基础 - 兼容代码