美文网首页程序员旅程
Javascript 强制类型转换

Javascript 强制类型转换

作者: love随心 | 来源:发表于2019-06-26 18:33 被阅读21次

    JS中的数据类型:
    1.值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。
    2.引用数据类型:对象(Object)、数组(Array)、函数(Function)。
    注:Symbol 是 ES6 引入了一种新的原始数据类型,表示独一无二的值。

    一、其他类型转string类型

    1.使用toString()方法
     var a = 123   
    
     var str = a.toString()  
    
     alert(typeof(str))  // string
    
    2.使用String()函数
    var a = 123
    
    var str = String(a)
    
    alert(typeof(str))  // string
    
    3.两者的区别
    var a = null
    var strA1 = a.toString()  // 报错
    var strA2 = String(a)
    console.log(typeof(strA2))  // string
    
    var b = undefined
    var strB1 = b.toString()  //报错
    var strB2 = String(b)
    console.log(typeof(strB2))  // string
    

    结论:使用toString()方法转换null和undefined会报错,String()函数实用性更广泛

    二、其他类型转number类型

    1.使用Number()函数
    var str = "123"
    
    var  a = Number(str)
    
    alert(typeof(a))  // number
    
    2.使用parseInt()函数/parseFloat()函数
    var str = "123"
    
    var a = parseInt(str)
    
    console.log(typeof(a))  // number
    
    3.两者的区别
    var str = "123a123"  //字符串中有非法数字
    var  a = Number(str)  
    var b = parseInt(str)
    console.log(a)  // NaN
    console.log(b)  // 123
    

    结论:当字符串中含有非数字,调用Number()函数转换后值为NaN,调用parseInt()函数会从左到右依次提取出是数字的部分,一旦遇到非数字立即停止提取

    三、其他类型转boolean类型

    1.使用Boolean()函数
    var num1 = Boolean(0)
    var num2 = Boolean(NaN)
    var str = Boolean("")
    var n = Boolean(null)
    var un = Boolean(undefined)
    
    console.log(num1)  //false
    console.log(num2)  //false
    console.log(str)   //false
    console.log(n)     //false
    console.log(un)    //false
    

    结论:number类型除了0,其他都是true。string类型除了空串,其他都是true

    相关文章

      网友评论

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

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