javascript的转换

来源:互联网 发布:无锡java招聘 编辑:程序博客网 时间:2024/06/08 01:06

                                           javascript的转换

    javascript的转换有两种形式,分别是阴式转换和强制转换.
  一、阴式转换:
         阴式转换是系统自动进行的转换,隐式转换无处不在.为程序员提供了很大的方便,但有时也会因为隐式转换产生
       bug.
          在算术计算中,一切类型都转换成Number类型,再计算.
          但是在加法计算中,如果有一方是字符串,则另一方也转化成字符串,变成了字符串之间的拼接,并不是真正的加法  
      计算。如:“2”+2,则等于“22”,与数学计算中的4并不相同.
         "2"+true="2true";   2+true=3;//前者2没有转换,而是true转换成字符串.后者true转换成1.

  二、强制转换:

          强制转换是程序员通过调用函数进行的转换.
           1、任何类型转换成字符串String,有两种方式:
                  1)、var str=x.toString();//一切对象都有此方法.
                  2)、var str=String(x);//同时也是阴式转换的原型.
           2、任何类型转换成Number类型:
                         var n=Number(x);//同时也是阴式转换的原型.
                  注意:x是Boolean值是,true转换成1,false则转换成0;空字符串则转换成0;x是字符串时,如果都是数字,则转换
            成数字,否则转换成NaN;null转换成0;undefined转换成NaN;
                   特殊情况:字符串转换成Number类型有三种方式,最后一种是上面的函数.
                     1)、var n=pasrseInt(str);
                            从字符串的开始位置逐个读取,直到第一个不是数字的字符时,停止读取,开始读取时,自动忽略空格.
                     2)、var n=parseFloat(str);
                           与上一种方式几乎相同,不过都取时,可以读取第一个小数点.
           3、任意类型转换成Boolean类型:
                    var bool=Boolean(x);//同时也是阴式转换的原型.
                 注:只有""、0、NaN、null、undefined这5个值转换成Boolean值是false,其余均是true.
         

 

0 0
原创粉丝点击