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 ...
随机推荐
- Python常用技巧工具【不断更新】
一.**kwargs用法 # **kwargs用法#双星"**"放在字典的前面可以让你将字典的内容作为命名参数传递给函数.#字典的键是参数的名字,键的值作为参数的值传递给函数dic ...
- iOS开发之检测项目是否包含UIWebView
应苹果审核要求不能包含UIWebView,所以我们上线之前应该扫一下项目是否包含UIWebView 我们直接打开终端 cd 到工程文件下面 执行命令 grep -r UIWebView . 在扫描结 ...
- WebService接口实际场景应用(一)
背景:要求写一套接口测试工具.过程中遇到了WebService接口的问题,遂写下本篇文章. 阶段问题1: 需要利用数据驱动,然后读取excel中的数据并直接调用.但是webService接口与http ...
- zk中控考勤机默认密码登陆
网络空间搜索: app="ZKTECO-考勤管理系统" 找到某一个考勤系统 进行弱口令登陆:admin/****** 成功! End!!!
- 定长线程池Demo
1 import java.util.concurrent.ExecutorService; 2 import java.util.concurrent.Executors; 3 4 /** 5 * ...
- C语言||一作业04
作业头 这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/SE2020-3 这个作业要求在哪 https://edu.cnblogs.com/campus ...
- 前端常用函数(find、includes、filter、Set、forEach、map、some、every、findIndex、splice、reduce)
https://blog.csdn.net/qq_24280125/article/details/119275109 array.join(separator) .拼接返回字符串 参数 separa ...
- OPENSSL 生成RSA公钥、私钥和证书
在命令窗口执行下列操作. 1)生成RSA私钥: openssl genrsa -out rsa_private_key.pem 2048 生成内容: -----BEGIN RSA PRIVATE KE ...
- elementUI el-input 调整数据但是前端界面不刷新
在表格行中提供一个输入框,允许用户输入,并且可以进行简单的四则计算,计算在onblur或者回车触发. <el-input v-model="scope.row[scope.column ...
- fiddler 实现跨域
static function OnBeforeResponse(oSession: Session) { ... if(oSession.uriContains("要处理的url" ...