可以通过toString() 来获取每个对象的类型。为了每个对象都能通过 Object.prototype.toString() 来检测,需要以 Function.prototype.call() 或者 Function.prototype.apply() 的形式来调用,传递要检查的对象作为第一个参数,称为thisArg

var toString = Object.prototype.toString;

toString.call(new Date); // [object Date]
toString.call(new String); // [object String]
toString.call(Math); // [object Math] //Since JavaScript 1.8.5
toString.call(undefined); // [object Undefined]
toString.call(null); // [object Null]

可以写个函数来判断个数据类型

function consoleType(obj) {
return (Object.prototype.toString.apply(obj));
} consoleType([]); // [object Array]
consoleType(null); // [object Null]
consoleType(undefined); // [object Undefined]
consoleType(0); // [object Number]
consoleType(new Date); // [object Date]
consoleType({}); // [object Object]
consoleType(function () {}); // [object Function]
consoleType(NaN); // [object Number]
consoleType('a'); // [object String]
    consoleType(/\d/);           //  [object RegExp]

参考:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/toString#Using_toString()_to_detect_object_class

最新文章

  1. PSP(11.9~11.16)
  2. Java编写最大公约数和最小公倍数
  3. Android表单UI及相应控件的事件处理
  4. Android 注解的一些应用以及原理
  5. ubuntu 12.04 安装 nginx+php+mysql web服务器
  6. MongoDB之二(增删查改)
  7. 解读zookeeper的配置项
  8. java base64编码 加密和解密(切记注意乱码问题)
  9. python遗产
  10. 用VSCode开发一个基于asp.net core 2.0/sql server linux(docker)/ng5/bs4的项目(3)
  11. 设计模式四: 抽象工厂(Abstract Factory)
  12. week3
  13. 【CF429E】Points and Segments(欧拉回路)
  14. 再谈 javascript 数组去重
  15. cf 1110 D
  16. LexAndYacc 安装程序
  17. 半精度浮点数取5bit指数位
  18. e784. 监听对JList选择变动
  19. rpgmakermv插件(1)screenfull.js与Fullscreen.js
  20. 深入浅出JVM

热门文章

  1. Opengl-法线贴图(用来细化表面的表现表现的凹凸)
  2. Leetcode 141题 环形链表(Linked List Cycle) Java语言求解
  3. 线程sleep,wait,notify,join,yield方法解析
  4. 一道二叉树题的n步优化——LeetCode98validate binary search tree(草稿)
  5. 30s源码刨析系列之函数篇
  6. 【攻略】如何在云开发中使用 Redis?
  7. createjs的compositeOperation在Android和IOS上接受的参数居然不一样
  8. Feign 客户端的使用 二
  9. ES6拓展的对象功能
  10. url,href和src的区别,defer和async的区别