• 常用的JS数据类型转换方法


    JS 数据类型转换的方法有以下3种:
    1)使用转换函数
    2)强制类型转换
    3)利用js变量弱类型特性进行转换


    1:js提供了parseInt()和parseFloat()这两个转换函数。

    这里输入内容parseInt() 将字符串转换为int型。
    parseFloat() 则是转换为float型。
    parseInt() 在转换过程中,会从字符串 位置0开始判断 该字符是否为有效数字,如果不是 返回 NaN(Not a Number)
    如果是,则继续判断位置1,以此类推。
    例:
    parseInt("256blue"); //return 256
    parseInt("27.5"); //return 27
    parseInt("rr"); //return NaN
    对二进制、八进制,甚至十进制(默认模式),都可以这样调用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
    parseFloat() 在转化过程中类似于parseInt(),从0位置判断是否是有效数字。
    parseInt("256blue"); //return 256.0
    在转换时,该函数会认为第一个小数点是合格的,但是出现多个小数点的时候,从第二个小数点位置开始,后面字符会判断为无效数字。
    例:parseInt("256.45.22"); //return 256.45
    parseFloat()只识别十进制形式的字符串,例如0xA将被识别为 NaN.
    parseFloat("0551")前导0也将被忽略 返回 551
    同时parseFloat()也没有基模式。

    2:强制类型转换


    Boolean(value)——把给定的值转换成Boolean型;
    当要转换的值是至少有一个字符的字符串、非0数字或对象(下一节将讨论这一点)时,Boolean()函数将返回true。如果该值是空字符串、数字0、undefined或null,它将返回false。

    Boolean(""); //false – empty string
    Boolean("hell"); //true – non-empty string
    Boolean(1006); //true – non-zero number
    Boolean(null); //false - null
    Boolean(0); //false - zero
    Boolean(new Object()); //true – object
    Number(value)——把给定的值转换成数字(可以是整数或浮点数);
    Number()的强制类型转换与parseInt()和parseFloat()方法的处理方式相似,只是它转换的是整个值,而不是部分值。还记 得吗,parseInt()和parseFloat() 方法只转换第一个无效字符之前的字符串,因此 "4.5.6 "将被转换为 "4.5 "。用Number()进行强制类型转换, "4.5.6 "将返回NaN,因为整个字符串值不能转换成数字。如果字符串值能被完整地转换,Number()将判断是调用parseInt()方法还是调用 parseFloat()方法。Number(false) 0
    Number(true) 1
    Number(undefined) NaN
    Number(null) 0
    Number( "3.5 ") 3.5
    Number( "36 ") 36
    Number( "5.3.7 ") NaN
    Number(new Object()) NaN
    Number(1004) 1004
    String(value)——把给定的值转换成字符串。
    String()是最简单的,因为它可把任何值转换成字符串。
    toString()方法,即把1转换成 "1 ",把true转换成 "true ",把false转换成 "false ",依此类推。
    String()和toString()的区别是:对null或undefined值强制类型转换String()不报错,toString()报错
    var s1 = String(null);//return null
    var s = null;
    var s2 = s.toString();//error

    3. 利用js变量弱类型特性转换

    <script>
    //eg
    var s= '013.365 ';
    var a= s-0;
        a= a*1;
    </script>
  • 相关阅读:
    准备 FRM 考试——方法、工具与教训
    930. 和相同的二元子数组 前缀和
    1906. 查询差绝对值的最小值 前缀和
    剑指 Offer 37. 序列化二叉树 二叉树 字符串
    815. 公交路线 BFS
    518. 零钱兑换 II dp 完全背包
    1049. 最后一块石头的重量 II dp
    5779. 装包裹的最小浪费空间 二分
    5778. 使二进制字符串字符交替的最少反转次数 字符串 滑动窗口
    474. 一和零 dp
  • 原文地址:https://www.cnblogs.com/huhangfei/p/4900464.html
Copyright © 2020-2023  润新知