JS判断数据类型的4种方法
4种判断方法分别是:
- typeof
- instanceof
- prototype属性
- constructor属性
可判断的类型对比如下图:

实践代码如下:
1 // 构造函数名方法
2 function getConstructorName(data) {
3 return (data === undefined || data === null) ? data : (data.constructor && data.constructor.toString().match(/function\s*([^(]*)/)[1]);
4 }
5
7 // 对象原型方法
8 // 不能判断自定义函数对象类型
9 function getPrototypeName(data) {
10 return Object.prototype.toString.call(data).slice(8, -1);
11 }
12
13 // 自定义的构造函数
14 function Func() {
15 this.attr = 33;
16 }
17
18 var newObj = new Func(),
19 num = 123,
20 arr = [];
21
22 console.group("检测自定义构造函数实例");
23 console.log(getConstructorName(newObj)); // Func
24 console.log(getPrototypeName(newObj)); // Object ;仅能识别为对象
25 console.log(newObj instanceof Func); // true
26 console.log(typeof newObj); // object ;仅能识别为对象
27 console.groupEnd();
28
29 console.group("检测数值类");
30 console.log(getConstructorName(num)); // Number
31 console.log(getPrototypeName(num)); // Number
32 // console.log(num instanceof Number); // 数值类不是对象不能使用该方法
33 console.log(typeof num); // number
34 console.groupEnd();
35
36 console.group("检测数组类");
37 console.log(getConstructorName(arr)); // Array
38 console.log(getPrototypeName(arr)); // Array
39 console.log(arr instanceof Array); // true
40 console.log(typeof arr); // object ;仅能识别为对象
41 console.groupEnd();
JS判断数据类型的4种方法的更多相关文章
- JS 判断数据类型的三种方法
说到数据类型,我们先理一下JavaScript中常见的几种数据类型: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Functi ...
- js 判断数据类型的几种方法
判断js中的数据类型有一下几种方法:typeof.instanceof. constructor. prototype. $.type()/jquery.type(),接下来主要比较一下这几种方法的异 ...
- js判断数据类型的四种方法
1.typeof typeof是一个操作符,其右侧跟一个一元表达式,并返回这个表达式的数据类型.返回的结果用该类型的字符串(全小写字母)形式表示,包括number,string,boolean,und ...
- [转]js判断数据类型的四种方法
原文地址:https://www.cnblogs.com/crackedlove/p/10331317.html 1.typeof typeof是一个操作符,其右侧跟一个一元表达式,并返回这个表达式的 ...
- js中判断数据类型的四种方法总结
js中判断数据类型的四种方法 前言 在js中,我们经常需要判断数据的类型,那么哪些方法可以用来判断数据的类型呢?哪种方法判断数据类型最准确呢? 我们来一个个分析: 1.typeof typeof是一个 ...
- javascript 判断数据类型的几种方法
javascript 判断数据类型的几种方法一.typeof 直接返回数据类型字段,但是无法判断数组.null.对象 typeof 1 "number" typeof NaN &q ...
- JS中判断数据类型的几种方法
1⃣️首先我们来了解一下js中的数据类型 1.基本数据类型:Undefined.Null.Boolean.Number.String(值类型) 2.复杂数据类型:Object(引用类型) (值类型和引 ...
- js判断类型的四种方法
typeof:使用typeof可以很方便的判断六种类型:undefined.boolean.string.number.object.function 数组和null会被判断为object类型 ins ...
- 判断数组的方法/判断JS数据类型的四种方法
参考文: 以下 3 个判断数组的方法,请分别介绍它们之间的区别和优劣Object.prototype.toString.call() . instanceof 以及 Array.isArray() h ...
- js中判断数据类型的4中方法
注意: js中数据类型有7种(number, boolean, string, null, undefined, object, Symbol(es6新增)) 原始数据类型: number, stri ...
随机推荐
- vue-cli打包后运行报路径错误 不知道什么牛马问题 连默认生成的项目不动一行代码直接打包都会出错
不知道什么牛马问题 连默认生成的项目不动一行代码直接打包都会出错 解决方法 新建一个 vue.config.js module.exports = { publicPath: './', config ...
- 杭电oj 水仙花数
Problem Description 春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的:"水仙花数"是指一个三位数,它的各位数字的立方和等于其本身 ...
- Elasticsearch Windows版安装配置
Elasticsearch简介 Elasticsearch是一个开源的搜索文献的引擎,大概含义就是你通过Rest请求告诉它关键字,他给你返回对应的内容,就这么简单. Elasticsearch封装了L ...
- nginx 配置react项目 并且开启gzip压缩
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #erro ...
- WAP-2.1
WAP 是一种源代码静态分析和数据挖掘工具,用于检测和纠正用 PHP 4.0 或更高版本编写的 Web 应用程序中的输入验证漏洞,且误报率较低. WAP 检测并纠正以下漏洞: SQL Injectio ...
- Yii2安装步骤
通过 Composer 安装了半天一直网络报错,配置了镜像,又报错依赖,运行跳过依赖,这个命令还是报错,我裂开. 最后只能利用归档文件安装,1.下http://www.yiiframework.com ...
- VUE 一些小功能(查重、逻辑删除)
查重就是在表中查找是否有该值,如果有返回0没有则返回1 在API写添加方法时可以直接通过该方法返回值进行添加,如果是0则添加,1则重名 不进行添加 逻辑删除就是在信息表中添加一个删除状态的字段,比 ...
- CCF 202009-1 称检测点查询
#include <iostream> #include <bits/stdc++.h> #include <string> using namespace std ...
- 使用端口排查解决启动Tomcat端口被占问题
有时候在eclipse中启动Tomcat或启动纯净版的Tomcat会出现端口被占的问题,下面菜鸟小编带大家进行端口排查解决问题.(下面假设是我的80端口被占了,如果你不知道你的Tomcat端口是多少就 ...
- Linux 使用Postfix与Dovecot部署邮件系统
电子邮件系统 电子邮件系统基于邮件协议来完成电子邮件的传输,常见的邮件协议有下面这些. 简单邮件传输协议(Simple Mail Transfer Protocol,SMTP):用于发送和中转发出的电 ...