3种主要的原始值Boolean值、数字和字符串都有toString()方法。toString还可以带一个参数,也就是它的基模式。
采用Number类型的toString()方法的基模式,可以用不同的基输出数字。
<html>
<head><title>JS测试页面</title></head>
<body>
<span id="msg"></span>
<script language="javascript">
var num1=15;
out(num1.toString(2));
out(num1.toString(8));
out(num1.toString(10));
out(num1.toString(16));
function out(msg){
var obj=document.getElementById("msg");
obj.innerText+="\n"+msg;
}
</script>
</body>
</html>
输出结果:
1111
17
15
f
///////////////////////////////////////////////////////////////
转换成数字:
有两种把非数字的原始值转换成数字的方法,即parseInt()和parsefloat()。只有对String类型调用这些方法,它们才能正确运行;对其它类型返回的都是NaN。
parseInt("1234abc") //returns 1234
parseInt("0xA") //returns 10
parseInt("22.5") //returns 22
parseInt("abc") //returns NaN
parseInt()方法还有基模式,可以把二进制、八进制、十六进制或其他任何进制的字符串转换成整数。
parseInt("AF",10) //returns 175
parseFloat()和parseInt()的处理方式相似,但是没有基模式。
/////////////////////////////////////////////////////////////////////////////
强制类型转换函数:Boolean(value) ,Number(value) , String(value)。
Boolean():当要转换的值是至少有一个字符的字符串、非0数字或对象时返回true。如果该值是空字符串、数字0、undefined或null,它将返回false。
Number():它与parseInt()和parseFloat()方法的处理方式相似,只是它转换的是整个值,而不是部分值。
parseFloat("4.5.6") returns 4.5
Number("4.5.6") returns NaN
Number(false) returns 0
Number(true) returns 1
Number(undefined) returns NaN
Number(null) returns 0
Number(new Object()) returns NaN
String()和toString()的唯一区别在于,对null或undefined值String()可以生成字符串而不引发错误。
var s1=String(null); //"null"
var oNull=null;
var s2=oNull.toString(); //won't work,causes an error
引用类型