zoukankan      html  css  js  c++  java
  • [JavaScript]JavaScript中的数据类型转换

    上一篇博文中,总结JavaScript中的数据类型以及他们之间的区别、注意事项,今天写下这篇博文,顺着数据类型,来讲讲他们之间的转换。

    首先回顾一下七种数据类型:

    • 基本类型
      • Number
      • String
      • Symbol
      • Boolean
      • null
      • undefined
    • 复杂类型
      • Object

    题外话:

    • 因为所学不深,所以文中所涉及的关于symbol都会跳过,想了解symbol的朋友可以到MDN或者直接Google
    • 数据类型转换一般都是在基本类型之间完成,对于基本类型和复杂类型之间的转换是很难做到的。

    Number

    • String转Number
    
    // 使用Number()
    Number('1')     //1
    
    // 使用parseInt()
    parseInt('1')   //1
    
    // 使用parseFloat()
    parseFloat('1.23')  //1.23
    
    // 使用 'x' - 0
    '3' - 0     //3
    
    // 使用 + 'x'
    + '3'   //3
    
    

    注意事项

    当使用parseInt()的时候,需要添加第二个参数,表示转换的进制:

    // 不添加进制
    prseInt('011')	//11
    // 转换为八进制
    paseInt('011',8)	//9
    

    还需要注意:

    // 一旦这个字符串是以数字字符开头,中间参杂着非数字字符,则会转换最前面的数字字符
    parseInt('111s')	//111
    parseInt('1112ss1111')  //1112
    
    • Boolean转Number
    // 使用Number()
    Number(false)   //0
    Number(true)   //1
    
    • null转Number
    // 使用Number()
    Number(null)   //0
    
    • undefined转Number
    // 使用Number()
    Number(undefined)   //NaN
    

    String

    • Number转String
    // 使用toString()
    var a = 11
    a.toString()    //'11'
    
    // 使用 x + ''
    11 + ''     //'11'
    
    
    • Boolean转String
    // 使用toString()
    var a = true
    a.toString()    //'true'
    
    // 使用 x + ''
    true + ''     //'true'
    
    
    • null转String
    // 使用toString()
    // 结果报错
    
    // 使用 x + ''
    null + ''     //'null'
    
    
    • undefined转String
    // 使用toString()
    // 结果报错
    
    // 使用 x + ''
    undefined + ''     //'undefined'
    
    

    Boolean

    • Number转 Boolean
    // 使用Boolean()
    Boolean(1)    //true
    
    // 使用 !!x
    !!1   //true
    
    
    • String转 Boolean
    // 使用Boolean()
    Boolean('a')    //true
    
    // 使用 !!x
    !!'a'   //true
    
    
    • null转 Boolean
    // 使用Boolean()
    Boolean(null)    //false
    
    // 使用 !!x
    !!null   //false
    
    
    • undefined转 Boolean
    // 使用Boolean()
    Boolean(undefined)    //false
    
    // 使用 !!x
    !!undefined   //false
    
    
    • Object转 Boolean
    // 使用Boolean()
    Boolean({name:'a'})    //true
    
    // 使用 !!x
    !!{name:'a'}   //true
    
    

    注意事项

    falsy

    在JavaScript中,除了false本身之外,有五个特殊的值,这五个值转换成Boolean一定是false,除此之外都是true

    • 五个falsy值:
      • 0
      • undefined
      • null
      • ''
      • NaN

    除此之外,其他的数据类型转化成null或者undefined,都是直接赋值null或者undefined就可以了。

    关于JavaScript中的数据类型转化就到这里了,下一篇博文准备讲讲JS中的内存存储、深浅拷贝等内容。

  • 相关阅读:
    MianShiTi
    C#多线程解决界面卡死问题的完美解决方案
    C#中的WebBrowser控件的使用
    解决Linq第一次调用存储过程时速度慢的问题
    AX 的 NumberSequences
    Ax 从一个form关闭另外一个form,AX全局变量
    查询数据库后台Block 的Sql存储过程
    Dynamic AX 4.0 用户组权限SecurityKey
    20160408 从软件工程的3大文档开始说起
    获取AX的窗口所有控件的lableID及内容
  • 原文地址:https://www.cnblogs.com/No-harm/p/9511189.html
Copyright © 2011-2022 走看看