`
太阳神喻
  • 浏览: 105147 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

JavaScript类型转换

阅读更多

 

  • 字符串与数字相加时将数字转换为字符串,而进行其它运算(如:减,乘等)时将字符串转换为数字。
  • 空字符串转为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")而不报错。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics