JS 如何判断精确的判断数据类(数组对象)

Posted 记住这些就成为了大神

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS 如何判断精确的判断数据类(数组对象)相关的知识,希望对你有一定的参考价值。

利用 Object.prototype.toString 判断数据类型

普通的判断方式有各种不足,typeof就不说了,判断模糊

constructor这种判断方式是可以,但是也有不足,如果aaa为null或者undefined的时候,代码就会报错

var aaa = {}
aaa.constructor === Object //true

下面介绍一种完美的判方式:利用Object.prototype.toString.call()判断

var toString = Object.prototype.toString;
  
  function isArray(val) {
    return toString.call(val) === ‘[object Array]‘;  
  }
  
  function isObject(val) {
    return toString.call(val) === ‘[object Object]‘;
  }
  
  function isNull(val) {
    return toString.call(val) === ‘[object Null]‘;  
  }
  
  function isUndefined(val) {
    return toString.call(val) === ‘[object Undefined]‘;
  }

如此,即能判断准确,又不会报错,是不是很完美,欢迎评论留言

以上是关于JS 如何判断精确的判断数据类(数组对象)的主要内容,如果未能解决你的问题,请参考以下文章