美文网首页
javascript里的数据类型转换

javascript里的数据类型转换

作者: 易景平 | 来源:发表于2020-12-21 19:46 被阅读0次

    1. 转为数值

    使用Number()方法

    Number('122') // 122
    Number([]) // 0
    Number('') // 0
    Number(null) // 0
    Number({}) // NaN
    Number(undefined) // NaN
    
    

    使用parseInt()方法,把字符串转为数值。

    parseInt的返回值只有两种可能,要么是一个十进制整数,要么是NaN
    parseInt可接受第二个参数作为解析的进制,如果不写,默认为十进制

    parseInt('12a') // 12
    parseInt('11',10) // 11
    parseInt('111a',2) // 7  按照二进制解析成十进制数,遇到不能解析的字符时停止
    parseInt('011') // 11 字符串以0开头的以10进制解析
    parseInt('0x11') // 17 以0x开头的以16进制解析
    parseInt('1.24') // 1
    
    

    使用parseFloat()方法,把字符串转为浮点数

    parseFloat('1.23a') // 1.23
    
    

    如果字符串里全是数字,可使用减号(-)或加号(+)来转换成数值

    '1.23'-0 // 1.23
    +'1.23' // 1.23
    '2.3aaaa'-0 // NaN
    

    2. 转为字符串

    使用toString()方法

    (12).toString() // '12' 数值转为字符串
    true.toString() // 'true' 
    null.toString() // 报错
    undefined.toString() // 报错
    var a ={};
    a.toString() // '[object Object]'
    

    使用String()方法

    String(22) //  '22'
    String({}) // '[object Object]'
    String(null) // 'null'
    String(undefined) // 'undefined'
    

    使用加号(+)和空字符串

    22 + ''// '22'
    true + '' // 'true'
    null + '' // 'null'
    undefined + '' // 'undefined'
    var obj = {name: 2};
    obj + '' // '[object Object]'
    

    3. 转为布尔

    使用Boolean()方法

    除以下几种为false,其他都为true

    Boolean(0) // false
    Boolean(NaN) // false
    Boolean('') // false 
    Boolean(null) // false
    Boolean(undefined) // false
    

    使用!取反再取反

    !!1 // true
    !!'' // false
    !!{name:2} // true
    

    相关文章

      网友评论

          本文标题:javascript里的数据类型转换

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