4种判断方法分别是:

  1. typeof
  2. instanceof
  3. prototype属性
  4. 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种方法的更多相关文章

  1. JS 判断数据类型的三种方法

    说到数据类型,我们先理一下JavaScript中常见的几种数据类型: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Functi ...

  2. js 判断数据类型的几种方法

    判断js中的数据类型有一下几种方法:typeof.instanceof. constructor. prototype. $.type()/jquery.type(),接下来主要比较一下这几种方法的异 ...

  3. js判断数据类型的四种方法

    1.typeof typeof是一个操作符,其右侧跟一个一元表达式,并返回这个表达式的数据类型.返回的结果用该类型的字符串(全小写字母)形式表示,包括number,string,boolean,und ...

  4. [转]js判断数据类型的四种方法

    原文地址:https://www.cnblogs.com/crackedlove/p/10331317.html 1.typeof typeof是一个操作符,其右侧跟一个一元表达式,并返回这个表达式的 ...

  5. js中判断数据类型的四种方法总结

    js中判断数据类型的四种方法 前言 在js中,我们经常需要判断数据的类型,那么哪些方法可以用来判断数据的类型呢?哪种方法判断数据类型最准确呢? 我们来一个个分析: 1.typeof typeof是一个 ...

  6. javascript 判断数据类型的几种方法

    javascript 判断数据类型的几种方法一.typeof 直接返回数据类型字段,但是无法判断数组.null.对象 typeof 1 "number" typeof NaN &q ...

  7. JS中判断数据类型的几种方法

    1⃣️首先我们来了解一下js中的数据类型 1.基本数据类型:Undefined.Null.Boolean.Number.String(值类型) 2.复杂数据类型:Object(引用类型) (值类型和引 ...

  8. js判断类型的四种方法

    typeof:使用typeof可以很方便的判断六种类型:undefined.boolean.string.number.object.function 数组和null会被判断为object类型 ins ...

  9. 判断数组的方法/判断JS数据类型的四种方法

    参考文: 以下 3 个判断数组的方法,请分别介绍它们之间的区别和优劣Object.prototype.toString.call() . instanceof 以及 Array.isArray() h ...

  10. js中判断数据类型的4中方法

    注意: js中数据类型有7种(number, boolean, string, null, undefined, object, Symbol(es6新增)) 原始数据类型: number, stri ...

随机推荐

  1. plsql和instantclient版本都对,依然不能初始化oci.dll解决办法

    这里写到 "初始化错误,不能初始化 oci.dll, 请确认你安装的是64位的Oracle客户端 " ,这个描述还是非常的到位啊,我一检查,果然下载的客户端是32位的,在确保自己的 ...

  2. java三级菜单遍历

    java 三级菜单遍历 @Override public List<YjztCity> getYjzt(){ List<YjztCity> yjztCities = yjztC ...

  3. beforeRouteLeave vue监听返回的使用方法

    beforeRouteLeave(to, from, next) { console.log(this, to, from, next, "thissss"); if (to.fu ...

  4. maven概述,maven依赖管理的概念,maven一键构建概念

    maven概述 Maven在美国是一个口语化的词语,代表专家,内行的意思 一个对Maven比较正式的定义是这么说的,Maven是一个项目管理工具,它包含了一个项目对象模型(POM:Project  O ...

  5. MacOS如何使用语音输入

    Siri是Apple旗下强大的语音助手,而Siri的语音输入是必不可少的的存在.目前的MacOS中都有语音听写功能,可以让它把我们的语音转化成为文字.如果你此时不想打字,或是不方便打字的情况下,这个功 ...

  6. laravel 导出

    常规导出xlsx  更多的是导出小数据  需要大数据导出的时候 需要临时更改内存大小  ini_set('memory_limit', '1024M');  不更改内存的情况 可以选择队列导出到服务器 ...

  7. HFSS仿真疑问

    P15针在0.5pitch下,GS结构相比GSG更接近50Ω,但是在某些频点会有明显的反射,该频点插损比较大. 从TDR上看,阻抗呈正弦形状变化,有些奇怪. 空气盒子只增加了2mm,试了一下将空气盒子 ...

  8. 通过cmd对数据库SQL进行创建表空间并创建用户

    通过cmd对数据库SQL进行创建表空间并创建用户 1.创建表空间:create tablespace stx(名字) datafile ' 目录路径\stx(名字).dbf ' size 64m; 2 ...

  9. Python基础数据类型-String(字符串)

    print("===========字符串类型常见方法=============") a = "stringing" print(a.capitalize()) ...

  10. 26、EXCEL—插入的文字,如何修改其内的边间距

    在形状格式-文本选项里面设置文本框的间距