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. 手把手教你用Typora自动上传到picgo图床【教程与排坑】

    手把手教你用Typora自动上传到picgo图床[教程与排坑] 参考链接: 1. https://blog.csdn.net/disILLL/article/details/104944710?utm ...

  2. Excel——解除工作表保护

    策略:删除密码保护,而非破解密码 例 该工作簿有工作表保护,因忘记密码,无法更改内容. 解决方案 1.用压缩软件打开表格. 2.向下进入目录:xl/worksheets,选择sheet1.xml,用记 ...

  3. Django不使用序列化器时来进行查询结果序列化

    1.views.py文件中的代码 class DemoView(View): def get(self, request): user = User.object.all() list1 = [] f ...

  4. shell脚本操作mysql通用脚本

    作用:可以在写监控脚本时,将结果值保存到mysql数据库 使用方法:sh 脚本  库名称.表名称 字段=值 字段=值 字段=值 1.脚本 [root@localhost tmp]# cat writ_ ...

  5. 2022-4-6内部群每日三题-清辉PMP

    1.产品负责人一直听取一个项目干系人的意见,远远超过其他项目干系人.敏捷管理专业人士应该怎么做? A.允许这名干系人和产品负责人自己解决问题. B.与这名干系人安排一次私人会议,以澄清他们的需求. C ...

  6. 2022-3-14内部群每日三题-清辉PMP

    1.开发一款银行零售业务新产品的项目正在进行中,由于团队成员缺乏激励,该项目落后于进度.项目经理应该如何激励项目团队? A.提供认可与奖励 B.使用教练和指导技能 C.委托职责 D.应用创造性的问题解 ...

  7. 杭电oj 求数列的和

    Problem Description 数列的定义如下:数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和.   Input 输入数据有多组,每组占一行,由两个整数n(n<10000 ...

  8. SynchronizedMap和ConcurrentHashMap同步方式比较

      在开始之前,先介绍下Map是什么? javadoc中对Map的解释如下: An object that maps keys to values . A map cannot contain dup ...

  9. jenkins +docker+python接口自动化之jenkins容器安装python3(二)

    前提是在docker下已经配置好jenkins容器了,是将python安装在jenkins容器下的 1.先看你的jenkins是否安装好 docker ps 2.以root权限进入jenkins容器: ...

  10. com.alibaba.fastjson.JSONObject cannot be cast to xxx

    今天在使用json格式的数据进行转化的时候遇到了这个问题,故此记录下来. 通常我们使用JSON把数据转成实体的方法是这样的 List<DataModel> dataModels= (Lis ...