JavaScript 获取变量类型的通用方法

作者:纸飞机

时间:2026-10-25

浏览:374

本文介绍在 JavaScript 中准确获取变量类型的方法。通过对比 typeof 的局限性,展示如何利用 Object.prototype.toString.call() 实现更精确的类型判断,并提供一个封装好的 getType 函数,支持检测字符串、布尔值、数字、数组、对象、函数、日期、正则等类型。

文章目录

JavaScript 变量类型检查概述

在 JavaScript 中,检查变量的类型并判断其是整形、字符串还是其他类型,是开发过程中常见的需求。


<html> <head> <title>检查变量的类型</title> </head> <body>  </body> </html>

[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]


利用 toString 改进类型判断

toString 方法原本用于字符串转换,但现在常被用于变量类型的检查。这里提供一个封装函数,用于替代 typeof 进行更准确的类型判断。


代码如下:

 
getType 函数实现与测试用例function getType(o) {
var _t; return ((_t = typeof(o)) == "object" ? o==null && "null" || Object.prototype.toString.call(o).slice(8,-1):_t).toLowerCase();
} 


执行结果:



getType("abc"); //string


getType(true); //boolean


getType(123); //number


getType([]); //array


getType({}); //object


getType(function(){}); //function


getType(new Date); //date


getType(new RegExp); //regexp


getType(Math); //math


getType(null); //null

实用工具推荐

电子包浆

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

使用 ›
图片压缩

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

使用 ›
相关文章