JavaScript中的类型转换


《JavaScript高级程序设计》阅读笔记(四):ECMAScript中的类型转换

版权

作者:Artwl

出处:http://artwl.cnblogs.com

本文首发博客园,版权归作者跟博客园共有。转载必须保留本段声明,并在页面显著位置给出本文链接,否则保留追究法律责任的权利。


类型转换

1、转换成字符串

  所有对象都有toString()方法可以转换成字符串,要注意的是Number类型的toString()方法,它有两种模式,即默认模式和基模式,采用默认模式toString()方法只是用相应的字符串输出对应的10进制数字值,用基模式可以用不同的基输出数字。示例:

1 var iNum1=10;
2 var iNum2=10.0;
3 var iNum3=10;
4 
5 alert(iNum1.toString()); //outpus "10"
6 alert(iNum2.toString()); //outpus "10"
7 alert(iNum3.toString(2)); //outpus "1010"
8 alert(iNum3.toString(8)); //outpus "12"
9 alert(iNum3.toString(16)); //outpus "A"

2、转换成数字

ECMAScript提供了两种把非数字的原始值转换成数字的方法:parseInt()和parseFloat(),需要注意的是parseInt()是逐个字符转换的,直到非数字字符为止。示例程序如下:

1 var iNum1=parseInt("1234blue"); //returns 1234
2 var iNum2=parseInt("0xA"); //returns 10
3 var iNum3=parseInt("22.5"); //returns 22
4 var iNum4=parseInt("blue"); //returns NaN

parseInt()方法还有基模式,可以把二进制,八进制,十六进制或其他任何进制的字符串转换成整数。基是由parseInt()第二个参数指定的,示例如下:

1 var iNum1=parseInt("AF",16); //returns 175
2 var iNum2=parseInt("10",2); //returns 2
3 var iNum3=parseInt("10",8); //returns 8
4 var iNum4=parseInt("10",10); //returns 10
5 //注意:如果十进制数有前导0要用基数模式
6 var iNum5=parseInt("010"); //returns 8
7 var iNum6=parseInt("010",8); //returns 8
8 var iNum7=parseInt("010",10); //returns 10

paraseFloat()没有基模式,其他与parseInt()大致相同,示例:

1 var fNum1=paraseFloat("1234blue"); //returns 1234.0
2 var fNum2=paraseFloat("0xA"); //returns NaN
3 var fNum3=paraseFloat("22.5"); //returns 22.5
4 var fNum4=paraseFloat("22.34.5"); //returns 22.34
5 var fNum5=paraseFloat("0908"); //returns 908
6 var fNum6=paraseFloat("blue"); //returns NaN

3、强制类型转换

ECMAScript中可用的强制类型转换如下:

  Boolean(value)——把给定的值转换成Boolean型

  Number(value)——把给定的值转换成数字(可以是整数或浮点数)

  String(value)——把给定的值转换成字符串

示例:

 1 var b1=Boolean(""); //false - empty string
 2 var b2=Boolean("hi"); //true - not empty string
 3 var b3=Boolean(100); //true - not zero number
 4 var b4=Boolean(null); //false - null
 5 var b5=Boolean(0); //false - zero
 6 var b6=Boolean(new Object()); //true object
 7 
 8 var i1=Number(false); //0
 9 var i2=Number(true); //1
10 var i3=Number(undefined); //NaN
11 var i4=Number(null); //0
12 var f5=Number("5.5"); //5.5
13 var i6=Number("56"); //56
14 var i7=Number("5.6.7"); //NaN
15 var i8=Number(new Object()); //NaN
16 var i9=Number(100); //100

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值