所有语言都有类型转化的能力,javascript也不例外,它也为开发者提供了大量的类型转化访法,通过全局函数,可以实现更为复杂的数据类型。
var a = 3; var b = a + 3; var c = "student" + a; var d = a.toString(); var e = a + ""; document.write(typeof(a) + " " + typeof (b) + " " +typeof (c) + " " + typeof (d) + " " + typeof (e)); //输出 number number string string string
最简单的类型转化的例子
var a=b=c=d=e=4; var f = a+b+c+d+ c.toString(); document.write(f);<br>// 输出 结果 164
对于数据类型转为字符串,使用toString() JavaScript转化为字符串同时实现机制转化。
var a =111; document.writeln(a.toString(2)+"<br>"); document.writeln(a.toString(3)+"<br>"); document.writeln(a.toString(8)+"<br>"); document.writeln(a.toString(10)+"<br>"); document.writeln(a.toString(16)+"<br>"); //执行结果 // 1101111 11010 157 111 6f
字符串转数值型,JavaScript 使用parseInt()和parseFloat()可进行转化,正如方法的名称一样,前者将字符转化为整数,后者将字符转化为浮点数型。只有字符才能调运这两种方法,否则转化为NaN。不再进行任何操作。
parseInt()的先检查下标0处的字符,如果这个字符是有效字符,则检查1处的字符,如果不是有效字符,则终止转化。下面的例子是parseInt()的举例
document.writeln(parseInt("4555.5544")+"<br>"); document.writeln(parseInt("0.5544")+"<br>"); document.writeln(parseInt("1221abes5544")+"<br>"); document.writeln(parseInt("0xc")+"<br>");//直接进行进制转化 document.writeln(parseInt("ahthw@hotmail.com")+"<br>"); //执行结果 4555 0 1221 12 NaN
利用parseInt,同样也可以轻松的实现进制转化。(parseFloat()和parseFlaot类似,这里不再举例。)
document.writeln(parseInt("0421",8)+"<br>"); document.writeln(parseInt("0421")+"<br>"); document.writeln(parseInt("0421",16)+"<br>"); document.writeln(parseInt("AF",16)+"<br>"); document.writeln(parseInt("011",10)+"<br>"); //输出结果 273 421 1057 175 11