美文网首页
javascript强制类型转换

javascript强制类型转换

作者: ssttIsme | 来源:发表于2019-11-24 20:11 被阅读0次

    javascript强制类型转换

    一、转换为数值类型

    Number(参数) 把任何类型转换为数值类型
    A.如果是布尔值,false为0,true为1

        var a=true;
        document.write(Number(a)); 输出1
        a=false;
        document.write(Number(a)); 输出0
    

    B.如果是数字转换为本身,将无意义的后导0去掉

        var b=123.3120;
        document.write(Number(b)); 输出123.312
    

    C.如果是null转换为0

        document.write(Number(null)); 输出0
    

    D.如果是undefined转换为NaN

        var ud;
        document.write(Number(ud)); 输出NaN
    

    E.如果是对象则会先调用对象的 valueOf()方法,如果valueOf()方法返回的是NaN,然后再调用对象的toString()方法

        var obj1={
            toString:function () {
                return 5;
            }
        };
        document.write(Number(obj1)); 输出5
    
        var obj1={
            toString:function () {
                return 5;
            },
            valueOf:function () {
                return 2;
            }
        };
        document.write(Number(obj1)); 输出2
    

    F.如果是字符串
    1.如果字符串当中只有数字,将转换为10进制(忽略前导0和后导0)

        document.write(Number("01234560.0")); 输出1234560
    

    2.如果是有效的规范的浮点型,将转换为浮点值(忽略前导0和后导0)

        document.write(Number("01234.0560")); 输出1234.056
    

    3.如果是空字符串则转换为0

        document.write(Number("")); 输出0
    

    4.如果是其他的值,返回NaN

        document.write(Number("64px")); 输出NaN
    

    parseInt(参数1,参数2) 将字符串转换为整数
    A.如果一个字符串只包含数字,则以10进制的方式转换为整型。
    B.会自动忽略字符串前面的空格,直到找到第一个非空的数值字符串,直到解析到第一个非数值的字符串结束
    C.如果字符串的第一个字符不是空格、数字、-,那么返回NaN
    D.参数1
    八进制 十进制 十六进制
    参数2
    控制输出模式 2-32之间的数字

        document.write(parseInt("01330"));输出1330
        document.write(parseInt(" -1234abc580")); 输出-1234
        document.write(parseInt("a1234")); 输出NaN
        document.write(parseInt(011)); 输出9
        document.write(parseInt(0x11)); 输出17
        document.write(parseInt(10,8)); 输出8
    

    parseFloat()将字符串转化为浮点数
    A.字符串当中的.只有第一个有效,其他的无效

       document.write(parseFloat(" -1.5.7")); 输出-1.5
    

    B.如果字符串是一个有效的整数,则返回整数,不会返回浮点数

        document.write(parseFloat("2.0")); 输出2
    

    二、转换为字符串类型

    1.String(参数) 可以将任何的类型转换为字符串
    null和undefined 也都会转换成字符串,分别是null和undefined
    布尔类型 会返回true和false

        document.write(String(null)); 输出null
        document.write(String(undefined)); 输出undefined
        document.write(typeof String(null)); 输出string
        document.write(typeof String(undefined)); 输出string
        document.write(String(true)); 输出true
        document.write(typeof String(true)); 输出string
    

    2.toString()不是全局函数,是每个对象自带的方法
    对象.toString()作用是将对象以字符串的方式来表示
    数组.toString()返回由逗号分割的字符串
    Boolean.toString()换回true或false
    String.toString()返回本身
    Number.toString(参数)返回本身的字符串形式 输出模式2-32
    注意:null和undefined没有toString()方法

        var arr=[1,2,3,4];
        document.write(arr.toString()); 输出1,2,3,4
    
        document.write(true.toString()); 输出true
        var num=5;
        document.write(num.toString(2)); 输出101
        var num=14;
        document.write(num.toString(16)); 输出e
    

    三、转换为布尔类型

    Boolean()可以将任何类型的值转换为布尔值
    转换为假:"",0,NaN,undefined,false
    其他的全部都转换为真

        document.write(Boolean(null));  输出false
        document.write(Boolean("hello")); 输出true
        document.write(Boolean("")); 输出false
        document.write(Boolean(0)); 输出false
    

    相关文章

      网友评论

          本文标题:javascript强制类型转换

          本文链接:https://www.haomeiwen.com/subject/jvcrwctx.html