js中的数据类型、类型检测、类型转换

js中的数据类型

在这里插入图片描述
number类型包括以下值:正数、负数、0、小数、NaN、infinity
注意:NaN(不是一个有效数字)、infinity(无穷大)是属于number类型

扩展:NaN和谁都不相等,包括它自己。即 NaN == 任何值 都为false
那如何判断一个数据是否为有效数字?
答案:使用 isNaN(值) 如果不是一个有效数字则为true,否则为false

类型检测

数据类型检测方法:

  • typeof: 检测数据类型的逻辑运算符
  • instanceof:检测是否为某个类的实例
  • constructor:检测构造函数
  • Object.prototype.toString.call: 检测数据类型

typeof检测:
写法:typeof 值
结果:返回的结果都是字符串,即 “数据类型”
局限性:

  • typeof null 结果为 “object”
  • typeof 不能细分对象类型(即普通对象{} 和数组[] 等都是"object")

类型转换

  • 强转换(基于底层机制转换):Number(值)
    一些隐式转换都是基于Number完成的,
    如:isNaN()、数学运算(如-)双等号(==)都会调用Number方法
  • 弱转换(基于一些额外的方法转换)parseInt()/parseFloat()

注:
(1)、Number()不要求传入的值一定是字符串,以下几个特殊值需记住:
在这里插入图片描述
如果传入的值是字符串,则必须保证值都是有效数字才会转换为数字,否则都是NaN
在这里插入图片描述
(2)、parseInt()、parseFloat()要求传入的值一定都是字符串,从字符串的左侧开始查找有效数字字符,遇到非有效数字字符则停止查找,并将之前转换的结果返回。
在这里插入图片描述
如果传入的值不是字符串,则会自动转换为字符串再开始查找。
parseInt()、parseFloat()两者区别在于能否识别小数点。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值