JavaScript如何简单而准确地判断复杂数据类型


prtyaa
prtyaa 2023-12-25 17:13:54 49060 赞同 0 反对 0
分类: 资源
说之前咱们先来看一下 js 的数据类型 基本数据类型: number string null undefined boolean symbol(es6新增) 复杂数据类型:Object 那 javaScript 如何简单而准确地判断复杂数据类型呢?

一、typeof 只能判断出基本数据类型

let a = 4;
let b = function () {};
let c = [];

console.log(typeof a);//number
console.log(typeof b);//function
console.log(typeof c);//object ?

这里可以看到 c 的结果为object,而不是array

这里要注意一点!typeof能检测到的数据有functionstringnumberbooleanundefinedsymbol,其他所有的类型,都会被检测为object

二、使用Object.prototype.toString.call(b)即可得到准确的数据类型array

let a = 4;
let b = function () {};
let c = [];
let d = null;

console.log(Object.prototype.toString.call(a));
console.log(Object.prototype.toString.call(b));
console.log(Object.prototype.toString.call(c));
console.log(Object.prototype.toString.call(d));

这里就可以看到 c 的类型为 array

这里我们来给它封装成一个方法,用于准确判断变量的类型。

function judge(type) {
	var string = Object.prototype.toString.call(type);
	return string.substr(8, string.length - 9)
}

案例

let a = 4;
let c = [];

function judge(type) {
	var string = Object.prototype.toString.call(type);
	return string.substr(8, string.length - 9)
}
console.log(judge(c))
console.log(judge(a))

如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!

评价 0 条
prtyaaL2
粉丝 1 资源 1949 + 关注 私信
最近热门资源
银河麒麟桌面操作系统备份用户数据  125
统信桌面专业版【全盘安装UOS系统】介绍  120
银河麒麟桌面操作系统安装佳能打印机驱动方法  111
银河麒麟桌面操作系统 V10-SP1用户密码修改  105
最近下载排行榜
银河麒麟桌面操作系统备份用户数据 0
统信桌面专业版【全盘安装UOS系统】介绍 0
银河麒麟桌面操作系统安装佳能打印机驱动方法 0
银河麒麟桌面操作系统 V10-SP1用户密码修改 0
作者收入月榜
1

prtyaa 收益393.62元

2

zlj141319 收益218元

3

1843880570 收益214.2元

4

IT-feng 收益209.03元

5

风晓 收益208.24元

6

777 收益172.71元

7

Fhawking 收益106.6元

8

信创来了 收益105.84元

9

克里斯蒂亚诺诺 收益91.08元

10

技术-小陈 收益79.5元

请使用微信扫码

加入交流群

请使用微信扫一扫!