javascript弱语言中数据的类型转换【随笔】

1.js提供了parseInt()和parseFloat()两个转换函数。前者把值转换成整数,后者把值转换成浮点数。

    我是用前者将返回的数据进行过滤的时候,使用parseInt()函数进行过滤。

    只有对String类型调用这些方法,这两个函数才能正确运行;对其他类型返回的都是NaN在判断字符串是否是数字值前,parseInt()和parseFloat()都会仔细分析该字符串。parseInt()方法首先查看位置0处的 字符,判断它是否是个有效数字;如果不是,该方法将返回NaN,不再继续执行其他操作。但如果该字符是有效数字,该方法将查看位置1处的字符,进行同样的 测试。这一过程将持续到发现非有效数字的字符为止,此时parseInt()将把该字符之前的字符串转换成数字。

    实例测试:

    1.

    var a="3333b";

    document.write(parseInt(a)); //3333

    2. var a="b3333b";

    document.write(parseInt(a)); //NaN 

    3. var a="33.3";

    document.write(parseInt(a)); //33 

    4. var a="0xA"; 可以自动识别进制的字符串

    document.write(parseInt(a)); //10

    5. var a="error";

    document.write(parseInt(a)); //NaN  

parseInt()方法还有基模式,可以把二进制、八进制、十六进制或其他任何进制的字符串转换成整数。基是由parseInt()方法的第二个参数指定的,所以要解析十六进制的值,需如下调用parseInt()方法: 
parseInt("AF",   16);   //returns   175 
当然,对二进制、八进制,甚至十进制(默认模式),都可以这样调用parseInt()方法: 
parseInt("10",   2);   //returns   2 
parseInt("10",   8);   //returns   8 
parseInt("10",   10);   //returns   10 
如果十进制数包含前导0,那么最好采用基数10,这样才不会意外地得到八进制的值。例如: 
parseInt("010");   //returns   8 
parseInt("010",   8);   //returns   8 
parseInt("010",   10);   //returns   10 
在这段代码中,两行代码都把字符串 "010 "解析成了一个数字。第一行代码把这个字符串看作八进制的值,解析它的方式与第二行代码(声明基数为8)相同。最后一行代码声明基数为10,所以iNum3最后等于10。

    对于parseFloat()函数:因为是对字符串中的浮点数据进行处理,那么小说点对它来说就是有效字符了。如果有两个,那么第一个小说点是无效的。

    var b='0.b'

    document.write(parseFloat(b)); //0

    var b='b.3'

    document.write(parseFloat(b)); //NaN

2.强制类型转换:

Boolean(value)——把给定的值转换成Boolean型; 
Number(value)——
把给定的值转换成数字(可以是整数或浮点数); 
String(value)——
把给定的值转换成字符串。 

    Js中的第一种方式,是相对的是部分字符串,因为其解析的时候,只要遇到不是数字的[parseFloat()方法.识别],那么该位往后的都不会进行识别了。

    document.write(Number(false)); //0

    document.write(Number(true)); //1

    var c="3333b";

    document.write(Number(c)); //NaN

    document.write(Number("5.6.7"));//NaN

   

最后一种类型转换:

    Js中的tostring() ,js中的所有的变量都可以作为一个对象的。

        document.write(String(null)); //null

        var d=null;

        var s=d.toString();

        document.write(d.toString());

Uncaught TypeError: Cannot read property 'toString' of null

3.第三种转换:弱语言类型常见的一种变量转换:

        Var i=’5’;

        Var b=i-1;

        那么b会默认的就成了int类型的数据。

转载于:https://my.oschina.net/linuxphp/blog/651631

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值