谈谈 js数据类型转换那点事(三)

js 是一个弱类型语言 没有类型限制 可以放心大胆赋予变量任何数据类型 但是数据本身和运算符是有数据类型的 所以在操作的时候注意下 如果运算时 被运算符发现数据类型不匹配 它会自动进行类型转换
扯下前面列的点
数据类型
基本数据类型: Number String Boolean Undefined Null
引用数据类型: Object {Object [] {}}

数据类型的显示转换 隐式转换

显示转换
显示转换: 通过调用特定方法(手动) 进行数据类型转换
基本类型:

  • 转换为number类型

    1. Number(1)
    2. parseInt(string,radix)
      parseInt() 函数可解析一个字符串,并返回一个整数。

       parseInt("10");            //返回 10
       parseInt("19",10);        //返回 19 (10+9)
       parseInt("11",2);        //返回 3 (2+1)
       parseInt("17",8);        //返回 15 (8+7)
       parseInt("1f",16);        //返回 31 (16+15)
       parseInt("010");        //未定:返回 10 或 8复制代码

      注意点: 字符串中第一个数字会被返回 如果字符串中没有数字 或者第一位不是数字都会返回NaN

    3. parseFloat(string)
  • 转换为字符串类型

    1. toString(radix)
    2. String(mix)
  • 对布尔转换

      Number(true)         //  1
      parseInt(true)         //  NaN
      parseFloat(true)         //  NaN
      Number(false)         //  0
      parseInt(false)         //  NaN
      parseFloat(false)         //  NaN复制代码

    注意点: Number转boolean true返回1 false返回0

  • 对null转换

       Number(null)    //0
       parseInt(null)         // NaN
       parseFloat(null)         // NaN复制代码
  • 对undefined转换

      Number(undefined)         // NaN
      parseInt(undefined)         // NaN
      parseFloat(undefined)         // NaN复制代码

引用类型:

  • {} 转 字符串

      {}.toString()   //[object Object]
      String({})    //[object Object]复制代码
  • [] 转 字符串

      [1,2,3].toString() //"1, 2, 3"
      String([1,2,3])  //"1, 2, 3"复制代码
  • fun 转 字符串

      var a = function  () {}
      console.log(String(a)) //  "function  () {}"复制代码
  • 转换为Boolean

      Boolean(undefined)      //  false
      Boolean(null)      //  false
      Boolean(0)      // false
      Boolean('')      // false
      Boolean(NaN)      // false
      Boolean({})      // true
      Boolean([])      // true
      Boolean(function(){})      // true复制代码

    注意点: 除了引用类型为true 其他都是false

    显示转换总结: 方便记忆

    1. parseInt和parseFloat只能转换数字或者数字开头的其他全部是NaN
    2. Number构造函数可以转换数字或者数字字符串如果字符串中含有除数字之外的其他字符则返回NaN 在转换null、''时 返回0 其余都是NaN
    3. boolean只需要记住五个特殊值即可
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值