`

js数据类型检测的4种方法

阅读更多

1.typeof

缺点:对null和Array等类型的检测不是很方便

typeof null; //"object"
typeof []; //"object"

2.instanceof

缺点:1.只适用于对象类型

        2.只要当前的这个类在实例的原型链上,检测出来的结果都是true

123 instanceof Number; //false
null instanceof null; //TypeError
null instanceof Object; //false
function A(){}
function B(){}
A.prototype=new B();
var aObj=new A();
aObj instanceof B;//true
aObj instanceof A;//true

 3.constructor

注意:在类继承时会出错

function A(){};
function B(){};
A.prototype = new B();
var aObj = new A();
aObj.constructor === B; //true;
aObj.constructor === A; //false;

 4.自定义方法实现(比较通用)

function getType(o){
  return Object.prototype.toString.call(o).slice(8,-1);
}

 测试:

getType(null); //"Null"
getType(undefined); //"Undefined"
getType([]); //"Array"
getType({}); //"Object"
getType(()=>{}); //"Function"
getType(document.createElement('div')); //"HTMLDivElement"

 

1
1
分享到:
评论

相关推荐

    JS数据类型检测

    JavaScript中如何检测数据类型?有四种检测的方式: typeof:检测数据类型的运算符 instanceof : 检测某个实例是否属于这个类(什么是类) constructor: 获取当前实例的构造器 Object.prototype.toString.call :...

    javascript中的数据类型检测方法详解.docx

    javascript中的数据类型检测方法详解.docx

    blateyang#FrontEndNotes#JS数据类型检测的坑和通用检测方法1

    1前言提起JS的数据类型检测,大多数搞前端的朋友都知道有typeof和instanceof两个关键字可以用,其实还有另外2个方法constructor和Obje

    js检测数据类型

    由于javascript里面的数组和对象在 typeof 里面都是object,该代码用来区分js的数组和对象。

    Web前端开发技术-认识JavaScript的数据类型.pptx

    认识JavaScript的数据类型;学习目标;认识JavaScript的数据类型;... 数据类型检测;认识JavaScript的数据类型;认识JavaScript的数据类型; 数据类型转换;认识JavaScript的数据类型;认识JavaScript的数据类型;认识Jav

    javascript基本数据类型及类型检测常用方法小结

    主要介绍了javascript基本数据类型及类型检测常用方法,总结分析了javascript的基本数据类型与类型检测的常用操作方法,具有一定参考借鉴价值,需要的朋友可以参考下

    【JavaScript源代码】JavaScript类型检测的方法实例教程.docx

    JavaScript类型检测的方法实例教程  JavaScript是web前端广泛应用的语言之一,在网页应用制作、脚本制作、小程序等诸多领域具有不可替代的的地位。笔者学习了一端时间的前端,颇感JS知识点的繁碎,故将学习到的一些...

    判断数据类型的方法.html

    JS中判断数据类型的4种方法及其实例:typeof、instanceof、constructor、Object.prototype.toString.call();还有判断数据类型的函数

    JS数据类型判断的几种常用方法

    JavaScript 中常见数据类型有Number、String、Boolean、Object、Array、Json、Function、Date、RegExp、Error、undefined、Null等十几种。ES6还有新增的数据类型有Symbol、Set、Map等。在实际应用中,我们经常需要...

    js学习总结_基于数据类型检测的四种方式(必看)

    1、typeof 用来检测数据类型的运算符  console.log(typeof 12)//Number 使用typeof检测数据类型,首先返回的都是字符串 ,其次字符串中包含了对应的数据类型 例如:”number”、”string”、”boolean”、”...

    js中检测数据类型的方法总结1

    但是arr instanceof Object => true但是由于我们可以随意的修改原型链的指向,而且不能用它来检测基本数据类型,所以也不准确每个类的Con

    js数据类型检测总结

    在js中,有四种用于检测数据类型的方式,分别是: typeof 用来检测数据类型的运算符 instanceof 检测一个实例是否属于某个类 constructor 构造函数 Object.prototype.toString.call() 原型链上的Object对象的...

    详解JavaScript中的数据类型,以及检测数据类型的方法

    在js中,基本数据类型有五种,分别是 string、number、boolean、null、undefined,不过在ES6中新增加的了一种基本数据类型Symbol(表示独一无二的值),其作用主要是从根本上防止属性名的冲突而设定的。 除了基本数据...

    在javaScript中检测数据类型的几种方式小结

    在用javaScript编程的过程中,我们经常会遇到这样一个问题,就是需要检测一个数据或变量的类型,本篇文章主要介绍了在javaScript中检测数据类型的几种方式小结,有兴趣的可以了解一下。

    JS开发中基本数据类型具体有哪几种

    JS开发中基本数据类型有哪些?JS的数据类型包括基本数据类型、复杂数据类型和特殊数据类型,今天我们主要先讲解一下基本数据类型...1、变量:在讲基本数据类型之前,我们先来了解一下JS定义变量的方法。 1.1定义变量:

    javascript中的数据类型检测方法详解

    本文实例讲述了javascript中的数据类型检测方法。分享给大家供大家参考,具体如下: 在javascript中数据类型 值类型: 布尔(Boolean),数值(Number),字符(String),空(Null),未定义(Undefined) 引用类型: 对象...

    JavaScript基础知识之数据类型

    typeof操作符 介于JavaScript是松散类型的,因此需要有一种手段来检测给定变量的数据类型——typeof就是负责提供者方面信息的操作符。对一个值使用typeof操作符可能返回下列某个字符串: ● “undefined”——如果...

    JavaScript数据类型详解

     介于JavaScript是松散类型的,因此需要有一种手段来检测给定变量的数据类型——typeof就是负责提供者方面信息的操作符。对一个值使用typeof操作符可能返回下列某个字符串: ● “undefined”——如果这个值未定义...

    JS中检测数据类型的几种方式及优缺点小结

    1、typeof 用来检测数据类型的运算符 typeof value 返回值首先是一个字符串,其次里面包含了对应的数据类型,例如:”number”、”string”、”boolean”、”undefined”、”object”、”function” 局限性: 1)typeof ...

Global site tag (gtag.js) - Google Analytics