js数据类型判断

js数据类型判定知识点

一、js数据类型判断

1、js数据类型分为两大类:基本数据类型引用数据类型

1)基本数据数据类型
Number、String 、Boolean、Null、Undefined(5种)

2)引用数据类型

objectSymbolbigInt
Object对象、Array数组、RegExp正则、Date时间对象、Function函数等es6谷歌67版本出现的一种类型,是指安全存储、操作大整数

2、判断方法有如下

typeofinstanceofObject.prototype.toString.call()
优点可判断undefined、String、Number、Boolean类型能检测Array、Function、Object类型能准确的判断所有的类型
缺点无法区分Null(返回undefined)、Object和Array等都会返回Object检测不了Number、Boolean、String、Null、Undefined写法比较繁琐

二、js数组和对象变量判断

1、constructor

console.log(a.constructor === Array)

2、instanceof

console.log(a instanceof Array)

3、isArray

console.log(a.isArray())

4、Object.prototype.toString.call

object.prototype.toString.call(a) === '[Object Array]'  //判断数组
object.prototype.toString.call(a) === '[Object Object]' //判断对象

必须使用原型链最顶端的toString方法,为什么呢?

因为普通对象的toString()是可以改写的,比如Array、Function等类型作为Object的实例,都重写了toString方法。

5、上述方法优劣比较

constructorinstanceofisArrayobject.prototype.toString.call
判定的数组 必须定义在同一个页面 (eg:iframe)判定的数组 必须定义在同一个页面 (eg:iframe)兼容性问题(IE8不支持)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值