javascript类型转换

其它类型转换为字符串

 其它类型转换为字符串主要是利用JavaScript的根类Object类提供的“toString”方法,因为其它类都可以看作是从Object类继承而来的,所以都拥有“toString”方法。如下所示;

  var num = 5; 

alert(num.toString()); 

字符串转换成数字型

    将字符串转换成数字主要是通过“parseInt”与与“parseFloat”两个方法完成的。第一个方法将一字符串转换成整型数字;第二个方法将字符串转换成浮点型数字。对于这两个方法,转换成数字型过程实际上是从字符串第一个字符开始往下搜索,一直搜索到某一个字符不能让该字符串转换成数字为止,并把该字符串前面的串转换成数字。如下所示:

   var intstr1=” 123abc ” ;   //定义了一个字符串

alert( parseInt(intstr1)) ;   //输出“123

var  floatStr2=”123.123abc” ;  //定义了一个字符串

alert(parseInt(float2Str2)) ;   //输出“123  

alert(parseFloat(floatStr2)) ;  //输出“123.123

可以看到,这两个方法都非常智能,它会尽最大可能尝试理解数字的字面意义,并且转换成正确的数字。但是,如果一个字符串从一开始就根本没有数字,也谈不上转换成数字了,则这两个方法都会返回“NaN”,即非数字的意思。如下所示:

var tempStr=”abc” ; //定义一个字符串

alert(parseInt(tempStr)) ;    //输出“NaN                

alert(parseFloat(tempStr)) ;   //输出NaN

注:如果字符串数字前面有前导“0”,则一定要指定进制去转换,否则可能会得不到想要的结果。

        var numStr = "0100";

        alert(parseInt(numStr));  //输出

        alert(parseInt(numStr,8)); //输出“64

        alert(parseInt(numStr,10));  //10进制输出100

 可以看到,在不同模式下结果会不一样,特别是在没指定进制的情况下,该方法根据字符串格式自动调整转换的进制。

 parseFloat”方法与“parseInt”方法不同,它能处理的字符串必须以十进制形式表示浮点数,而不能以其它进制形式表示,并且它忽略前导的“0”,如下所示:

       var numStr1 = "0100";    //定义一个有前导“0”的字符串      

       alert(parseFloat(numStr1))     //输出“100

2.4.3 强制类型转换

     JavaScript主要有以下3种强制类型转换:

     Boolean(value),即把一个“value”转换成Boolean型对象

         alert(Boolean(""));     //输出“false,因为是空字符串

          alert(Boolean("abc"));  //输出“true,因为是非空字符串

          alert(Boolean(10));     //输出“true,因为是非零值

          alert(Boolean(0));      //输出“false,因为是零值

        alert(Boolean(null));   //输出“false,因为是null

     Number(value),即把一个“value”转换成Number对象,此方法当value中有一个非数字字符,则返回“NaN”;Number(value)方法会根据数字字面值形式,自动决定调用“parseInt”或者“parseFloat”方法。

      alert(number(false).toString() );   //输出“0    

      alert(number(true).toString() );   //输出“1

alert(number(false).toString() );  //输出“0

alert(number(null.).toString() );   //输出“0

alert(number(“123.123”).toString() );   //输出“123.123

alert(number(“123”).toString() );   //输出“123

alert(number(“123.123.123”).toString() );   //输出“NaN

alert(number(new object() ).toString() );   //输出“NaN

alert(number(“100”).toString() );   //输出“100

  String(value),即把一个“value”转换成String对象。这个转换其实可以理解为调用了“value”对象的“toString”方法,从而获得该对象的字符串表示。

     var objNull=null ; //定义一个“null”对象

     alert( objNull.toString() ) ;    //会抛出异常“objNull”为空或不是对象

     alert( String(objNull)) ;   //输出“null

你可能感兴趣的:(JavaScript,职场,休闲,javascript类型转换)