2.7 类型转换 1、转换成字符串 所有对象都有toString()方法可以转换成字符串,要注意的是Number类型的toString()方法,它有两种模式,即默认模式和基模式,采用默认模式toString()方法只是用相应的字符串输出对应的10进制数字值,用基模式可以用不同的基输出数字。示例: 复制代码 代码如下: var iNum1=10; var iNum2=10.0; var iNum3=10; alert(iNum1.toString()); //outpus "10" alert(iNum2.toString()); //outpus "10" alert(iNum3.toString(2)); //outpus "1010" alert(iNum3.toString(8)); //outpus "12" alert(iNum3.toString(16)); //outpus "A" 2、转换成数字 ECMAScript提供了两种把非数字的原始值转换成数字的方法:parseInt()和parseFloat(),需要注意的是parseInt()是逐个字符转换的,直到非数字字符为止。示例程序如下: 复制代码 代码如下: var iNum1=parseInt("1234blue"); //returns 1234 var iNum2=parseInt("0xA"); //returns 10 var iNum3=parseInt("22.5"); //returns 22 var iNum4=parseInt("blue"); //returns NaN parseInt()方法还有基模式,可以把二进制,八进制,十六进制或其他任何进制的字符串转换成整数。基是由parseInt()第二个参数指定的,示例如下: 复制代码 代码如下: var iNum1=parseInt("AF",16); //returns 175 var iNum2=parseInt("10",2); //returns 2 var iNum3=parseInt("10",8); //returns 8 var iNum4=parseInt("10",10); //returns 10 //注意:如果十进制数有前导0要用基数模式 var iNum5=parseInt("010"); //returns 8 var iNum6=parseInt("010",8); //returns 8 var iNum7=parseInt("010",10); //returns 10 paraseFloat()没有基模式,其他与parseInt()大致相同,示例: 复制代码 代码如下: var fNum1=paraseFloat("1234blue"); //returns 1234.0 var fNum2=paraseFloat("0xA"); //returns NaN var fNum3=paraseFloat("22.5"); //returns 22.5 var fNum4=paraseFloat("22.34.5"); //returns 22.34 var fNum5=paraseFloat("0908"); //returns 908 var fNum6=paraseFloat("blue"); //returns NaN 3、强制类型转换 ECMAScript中可用的强制类型转换如下: Boolean(value)——把给定的值转换成Boolean型 Number(value)——把给定的值转换成数字(可以是整数或浮点数) String(value)——把给定的值转换成字符串 示例: 复制代码 代码如下: var b1=Boolean(""); //false - empty string var b2=Boolean("hi"); //true - not empty string var b3=Boolean(100); //true - not zero number var b4=Boolean(null); //false - null var b5=Boolean(0); //false - zero var b6=Boolean(new Object()); //true object var i1=Number(false); //0 var i2=Number(true); //1 var i3=Number(undefined); //NaN var i4=Number(null); //0 var f5=Number("5.5"); //5.5 var i6=Number("56"); //56 var i7=Number("5.6.7"); //NaN var i8=Number(new Object()); //NaN var i9=Number(100); //100 作者:天行健,自强不息
推荐阅读
JavaScript高级程序设计 读书笔记之八 Function类及闭包
Function类 定义 Function类可以表示开发者定义的任何函数,用Function类直接创建函数的语法如下: var function_name=new Function(agrument1,agrument2,...,argumentN,function_body); 每个argument都是>>>详细阅读
本文标题:JavaScript高级程序设计 阅读笔记(四) ECMAScript中的类型转换
地址:http://www.17bianji.com/kaifa2/JS/23608.html
1/2 1