JavaScript 数据类型检测工具函数实现

作者:纸飞机

时间:2026-10-28

浏览:495

本文分享一个用于 JavaScript 数据类型检测的工具函数。通过结合 typeof 运算符与 Object.prototype.toString 方法,该函数能够准确区分基本数据类型及内置对象类型(如 Array、Date、RegExp 等),并处理 null 与 object 的边界情况。代码简洁,注释详细,适用于需要精确判断变量类型的场景。

文章目录

JavaScript 数据类型检测工具函数实现

具体实现代码如下所示:

/**
* 参数 o:表示需要检测类型的目标值
* 返回值:返回表示类型的字符串,包括 "undefined"、"number"、"boolean"、"string"、"function"、"regexp"、"array"、"date"、"error"、"object" 或 "null"
  */
function typeOf(o){
var _toString = Object.prototype.toString; // 获取对象原型的 toString() 方法引用
// 定义基本数据类型和内置对象类型的映射表,该数组可扩展以支持更多数据类型的检测
var _type ={
"undefined" : "undefined",
"number" : "number",
"boolean" : "boolean",
"string" : "string",
"[object Function]" : "function",
"[object RegExp]" : "regexp",
"[object Array]" : "array",
"[object Date]" : "date",
"[object Error]" : "error"
    }
return _type[typeof o] || _type[_toString.call(o)] || (o ? "object" : "null"); // 利用 typeof 转换字符串,再通过匹配返回字符串中是否包含特定字符进行检测
}
// 应用示例:
var a = Math.abs;
alert(typeOf(a)); // 返回字符串 "function"

代码逻辑简单,详细解释已包含在注释中。如有相同需求,可直接参考使用。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章