javascript判断元素数据类型

川长思鸟来 2022-10-09 02:42 317阅读 0赞

要有遥不可及的梦想,也要有脚踏实地的本事。—————- Grapefruit.Banuit Gang(香柚帮)


就说一个最常用的方法:typeof

  1. typeof 可以正确识别:UndefinedBooleanNumberStringSymbolFunction 等类型的数据,
  2. 但是对于其他的都会认为是 object,比如 NullDate 等,
  3. 所以通过 typeof 来判断数据类型会不准确。
  4. 但是可以使用 Object.prototype.toString 实现。

下面是实现方法:

  1. function typeOf(obj) {
  2. let res = Object.prototype.toString.call(obj).split(' ')[1];
  3. res = res.substring(0, res.length - 1).toLowerCase();
  4. return res;
  5. }
  6. console.log(typeOf(true))// 'boolean'
  7. console.log(typeOf('a'))// 'string'
  8. console.log(typeOf(1))// 'number'
  9. console.log(typeOf([]))// 'array'
  10. console.log(typeOf({}))// 'object'
  11. console.log(typeOf(new Date))// 'date'

还有另一种简单的写法:

  1. function typeOf(obj) {
  2. return Object.prototype.toString.call(obj).slice(8, -1).toLowerCase()
  3. }

好了,这样几乎所有数据的数据类型都可以进行判断力。希望对你们有帮助吧!

发表评论

表情:
评论列表 (有 0 条评论,317人围观)

还没有评论,来说两句吧...

相关阅读