【18天带你初步掌握js】强制类型转换

  • 强制类型转换指将一个数据类型强制转换为其他数据类型
  • 类型转换主要指将其他类型转换为String  Number  Boolean

将其他类型转化为String  

方式一:调用被转换数据类型的toString()方法

  • 调用a的toString()方法 :a.String()
  • 该方法不会影响原变量,它会将转换结果返回
  • 但是注意:nullundefined这两个值没有toString()方法,如果调用他们的方法,会报错
var a=123
var b=a.String();

 方式二:调用String()函数,并将被转化的数据作为参数传递给函数

  • 调用a的String()函数:String(a)
  •  该方法不会影响原变量,它会将转换结果返回
  • 使用String()函数做强制类型转换时,对于NumberBoolean实际上就是调用toString()方法,但是对于nullundefined,就不是调用toString()方法,它会将null(字面量)直接转换为“null”(字符串),将undefined(字面量)直接转换为“undefined”(字符串)

 将其他类型转化为Number

方式一:使用Number()函数

  • 使用a的Number()函数:Number(a)
  • 该方法不会影响原变量,它会将转换结果返回
  • 字符串--->数字
  1. 如果是纯数字的字符串,则直接将其转换为数字
  2. 如果字符串中有非数字的内容,则转换为NaN
  3. 如果字符串是一个空串或者是一个全空格的字符串,则转换为0
  • 布尔值--->数字
  1. true转成1
  2. false转成0
  • .Null--->数字   0
  • Undefined--->数字   NaN

方式二:parse数据类型()函数

  • 这种方式专门用来转换字符串

  • 调用parseInt()函数将a转换为Number:parseInt(a)

  • 该方法不会影响原变量,它会将转换结果返回

  • parseInt()把一个字符串转换为一个整数,把一个字符串中有效的整数取出来,然后转为Number

  • parseFloat()把一个字符串转换为一个浮点数 ,把一个字符串中有效的小数取出来,然后转为Number

  • 如果对非String使用parseInt()或parseFloat(),它会先将其转换为String然后再操作

  • 可以在parseInt()或parseFloat()函数中传递第二个参数,来指定数字的进制。例如:parseInt(a,10);表示10进制

  • 如果需要表示16进制的数字,则需在前面加0x;例如0x30
  • 如果需要表示8进制的数字,则需在前面加0;例如030(在强制转换时,像“030”、“070”这种字符串有些浏览器会当成10进制解析)
  • 如果需要表示2进制的数字,则需在前面加0b;例如0b30(但不是所有的浏览器都支持)

 将其他类型转化为Boolean

方式一:使用Boolean()函数

  • 调用a的Boolean()函数:Boolean(a)
  • 该方法不会影响原变量,它会将转换结果返回
  • 数字--->布尔值  (除了0和NaN,其余的都是true)
  • 字符串--->布尔值    (除了空串,其余的都是true)
  • nullundefined--->布尔值   (false)
  • 对象--->布尔值    (true)

方式二:隐式类型转换 

  • 为任意的数据类型做两次非运算,即可将其转换为布尔值
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值