强制类型转换(不包括引用数据类型)

JavaScript中的数据强制类型转换

转换为String类型

  将其他数据类型转换为String类型,就是将原来的类型的值加上引号引起来。
      Number: 123——>“123”;12.2——>“12.2”
     Boolean: true——>“true”;false——>“false”
      Undefined: undefined——>“undefined”
     Null: null——>“null”

  1. 方法1:采用toString()方法(针对Number类型和Boolean类型)
      toString()方法只对Number类型和Boolean类型转换成字符串有用,因为其包装类中含有此方法,若其他类调用此方法进行字符串转换时则会报错(Uncaught TypeError: obj.string is not a function)
      该方法不会改变原来的变量,它会将转换后的值返回

  2. 方法2:采用String()函数
      将待转换的数据作为String()函数的参数,该函数会返回转换后的值;该函数不会影响到原变量的值;使用该函数时,对于Boolean类型和Number类型的值在底层依然是调用toString()方法实现的,而对其他类型则不是

  3. 方法3:采用(待转换的非String类型数据+"")的方式
      任何非String类型的数据和String类型的数据做+运算时都会先转换为String类型,然后再进行拼串操作,所以若将非String类型的数据加上一个空串""就可以将其隐式的转换为String类型

转换为Number类型

   任意数据和NaN运算结果都是NaN;将其他数据类型转换为Number类型的数据主要有以下几种情况:
       String:“123”——>123;“123a”——>NaN;""——>0;" "——>0
       Boolean:true——>1;false——>0
       Null:null——>0
       Undefined:undefined——>NaN

  1. 方法1:采用Number()函数
       该函数可以将任意类型的基本数据类型为Number类型,该函数不会改变原来的变量,会将改变后的变量返回

  2. 采用一元运算符(+待转换的数据)
       一元运算符只需要一个操作数,而+运算符会将任何非Number类型的基本数据类型转换为Number后再进行计算,但是+不会对数值产生影响,故可以采用该方式将其他基本数据类型隐式的转换为Number类型

  3. 采用parseInt()函数和parseFloat()函数
       parseInt()函数和parseFloat()函数是专门用于将String类型的数据转换为Number类型的数据的
       parseInt()函数会从左到右将字符串中的有效整数提取出来并返回,遇到字符或小数时停止读取
       parseFloat()函数会从左到右将字符串中的有效数值提取出来并返回,遇到字符时停止读取
       如果对非String类型的数据使用parseInt()和parseFloat(),它会先被转换成字符类型数据,然后再操作,最后得到的结果是NaN
       这两个函数都不会改变原来的数据,只会将新的数据返回

转换为Boolean类型

将其他数据类型转换为Boolean类型只要以下几种情况
       String:“123”——>true;""——>false;" "——>true(除了空串其他都是true)
       Number:0——>false;NaN——>false;(除了0和NaN其他都是true)
       Null:null——>false
       Undefined:undefined——>false

  1. 方法1:使用Boolean()函数
        该函数不会改变原来的数据,只会将转换后的数据返回
    2.方法2:使用(!!待转换的数据)
       如果对非Boolean值进行!运算则会先将其转换为布尔值后再进行运算,原理和Boolean()函数一致。只是一个!运算会改变转换后的值,所以可以利用!!运算将非Boolean值隐式地转换为Boolean类型
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值