使用toString()检测对象类型
2024-10-08 23:18:59
可以通过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]
最新文章
- PSP(11.9~11.16)
- Java编写最大公约数和最小公倍数
- Android表单UI及相应控件的事件处理
- Android 注解的一些应用以及原理
- ubuntu 12.04 安装 nginx+php+mysql web服务器
- MongoDB之二(增删查改)
- 解读zookeeper的配置项
- java base64编码 加密和解密(切记注意乱码问题)
- python遗产
- 用VSCode开发一个基于asp.net core 2.0/sql server linux(docker)/ng5/bs4的项目(3)
- 设计模式四: 抽象工厂(Abstract Factory)
- week3
- 【CF429E】Points and Segments(欧拉回路)
- 再谈 javascript 数组去重
- cf 1110 D
- LexAndYacc 安装程序
- 半精度浮点数取5bit指数位
- e784. 监听对JList选择变动
- rpgmakermv插件(1)screenfull.js与Fullscreen.js
- 深入浅出JVM
热门文章
- Opengl-法线贴图(用来细化表面的表现表现的凹凸)
- Leetcode 141题 环形链表(Linked List Cycle) Java语言求解
- 线程sleep,wait,notify,join,yield方法解析
- 一道二叉树题的n步优化——LeetCode98validate binary search tree(草稿)
- 30s源码刨析系列之函数篇
- 【攻略】如何在云开发中使用 Redis?
- createjs的compositeOperation在Android和IOS上接受的参数居然不一样
- Feign 客户端的使用 二
- ES6拓展的对象功能
- url,href和src的区别,defer和async的区别