JavaScript类型转换

本文介绍了JavaScript中不同类型间的转换方法,包括字符串与数字之间的相互转换、布尔值的隐式转换及使用parseInt、parseFloat和Number函数的不同之处。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

  • 字符串与数字相加时将数字转换为字符串,而进行其它运算(如:减,乘等)时将字符串转换为数字。
  • 空字符串转为Boolean时为false,非空字符串(包括"false")转为true。
  • 0和NaN转为Boolean时为false,其它数字转为true。
  • true可隐式转为1,false转为0。
  • false、null、""等:使用Number转为数字时转为0,而使用parseInt或parseFloat时都转为NaN。

任何类型的变量都有一个toString方法,当被转换数为数值型进,默认是以十进制输出这些数的。如:

 

var iHexNum = 0xF1; //十六进制数。
iHexNum.toString();//为"229"。
iHexNum .toString(2);//按二进制转换
iHexNum .toString(8);//按八进制转换
iHexNum .toString(16);//按十六进制转换

  parseInt可以将二进制、八进制、十六进制或其它进制的字符串转换成整数。但parseFloat必须以十进制进行转换。

<script type="text/javascript">
		alert(parseInt("110101",2));//按二进制转换,结果为53
		alert(parseInt("110101",8));//按八进制转换,结果为36929
		alert(parseInt("110101",10));//按十进制转换,结果为110101
		alert(parseInt("110101",16));//按十六进制转换,结果为1114369
</script>

 Number的强制类型转换与parseInt和parseFloat的处理方式不同的地方是:Number转换的是整个值,而不是部分值。如:

<script type="text/javascript">
		alert(parseInt("12.12abc"));//12
		alert(parseFloat("12.12abc"));//12.12
		alert(Number("12.12abc"));//NaN
</script>
 String()和toString()的唯一区别是可以将null和undefined强制转换成相应的字符串("null"和"undefined")而不报错。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值