JS 比type更加精準的獲取數據的類型 包含dom | map | json | array | number等 - 戴向天

好!我叫戴向天。今天跟大家分享一個獲取精準的數據類型的方法。

QQ:809002582

廢話不多說。直接上代碼↓↓↓

第一個參數就是需要獲取數據類型的對象

第二個參數是進行判斷該對象是不是指定的數據類型(默認沒有)

當有第二個參數的時候,則就會進行返回布爾值 true | false ,沒有就返回該數據的類型

/**
 * 獲取數據類型
 * */
function getType (obj, str) {
  let type = ''
  if (Object.prototype.toString.call(obj) === '[object Array]') {
    type = 'array'
  } else if (Object.prototype.toString.call(obj) === '[object Boolean]') {
    type = 'boolean'
  } else if (Object.prototype.toString.call(obj) === '[object Number]') {
    type = 'number'
  } else if (obj instanceof HTMLElement) {
    type = 'dom'
  } else if (obj instanceof Map) {
    type = 'map'
  } else if (typeof (obj) == 'object' && Object.prototype.toString.call(obj).toLowerCase() == '[object object]' && !obj.length) {
    type = 'json'
  } else {
    type = typeof (obj)
  }
  return str ? type === str : type
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章