javascript中数据类型转换

转换为数字:

parseInt();转换为整数型数值;从下标0开始判断,若为数值型则继续直到遇到非数值,返回前面的整数值;
       小数点无效,若0开始为非数值则返回NaN;
       转换空字符串会返回NaN;

       能转换为不同的进制;如:var a=parseInt("123",2);//返回结果为2进制

parseFloat();转换为小数;从下标0开始,只有10进制形式;若有第二个小数点则第二小数点无效后面全部舍弃,
        返回前面值,若0开始为非数值则返回NaN;会忽略前导0;如:var b=parseFloat(010);//10;

强制类型转换:

Boolean(); 任何非空字符串为true;任何非0数字值(包括infinity)为true;任何对象为true、null为false;undefined只能为false;

Number();若为Boolean值,true与false转换为1/0;null转换为0;undefined转换为NaN;

       字符串:只包含数字(包括正、负号)转换为10进制数,前导0忽略;若为浮点数,转换为浮点数值,前导0忽略;

          包含16进制,转换为相同大小的十进制数值;若为空,则转换为0;若包含前面几种之外的转换为NaN;

        对象:调用对象的valueOf()方法,然后照前面规则转换返回值,若结果为NaN,则调用toString();然后照

          前面规则转换返回字符串值。

Number();与parseInt();区别在于:若字符串中存在前面数字后面非数,前者返回NaN,后者返回非数前边的数字;

                      处理空字符串,前者返回0;后者返回NaN;

String();数值、布尔值、字符串值、对象都有toSting()方法,null、undefined没有,所以不能用同toString()方法转换这

      2种,否则会报错,这就是String()与toString()间的区别;

      转换规则:

        若值有toString()方法,则调用该方法返回相应的结果;若为null则返回“null”;若为undefined则返回“undefined”;

上一篇:cololection


下一篇:CSS3常用的循环动画