首页 > 其他分享 >检测数据类型的四种方法

检测数据类型的四种方法

时间:2023-07-12 21:44:32浏览次数:31  
标签:检测 Object 数据类型 toString arg null 四种

一、数据类型:

1、基本数据类型:String、Number、Boolean、Null、Undefined、Symbol 、BigInt
2、引用数据类型:Object、Array、Function、Date、RegExp

二、检测数据类型的四种方法
1.typeof检测

 特点:typeof只能检测基本数据类型(除了null),不能准确的检测引用数据类型。

   object、array、date、regExp、null 都会返回object

2.instanceof检测

 特点:instanceof的本质作用是判断某个对象是由哪个类(构造函数)产生的,所以只能用在引用数据类型上,如果在原型上找到返回true,

   所以用它可以区分是引用类型还是基本类型数据;不能判断null,undefined   3.constructor检测

 特点:不能判断null,undefined,其它的都可以,由于类的constructor可以随意更改,此时会存在判断不准确的问题

4.Object.prototype.toString.call() 检测

特点:该方法是最准备的检测数据类型的方法。由于Object.prototype.toString()本身允许被修改,所以需要调用 Object.prototype.toString.call(arg)来判断arg的类型,call将arg的上下文指向Object,所以arg执行了Object的toString方法。

 

标签:检测,Object,数据类型,toString,arg,null,四种
From: https://www.cnblogs.com/anna001/p/17548935.html

相关文章

  • Java字符串逆序的四种方法及比较
    Java中实现字符串逆序有以下几种常见的方法:方法一:使用StringBuffer或StringBuilder的reverse()方法。这是最简单和最直接的方法,只需要将String对象转换为StringBuffer或StringBuilder对象,然后调用它们的reverse()方法,就可以得到逆序的字符串。例如:publicclassStringReverse......
  • 基本数据类型与引用数据类型
    从内存的角度去解释:基本数据类型:数据值是存储在自己的空间中特点:赋值给其他变量,也是赋的真实的值。引用数据类型:数据值是存储在其他空间中,自己空间中存储的是地址值。特点:赋值给其他变量,赋的地址值。......
  • 【雕爷学编程】Arduino动手做(159)---RCWL-0515微波检测模块
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • 【SARscape】无法检测OpenCL也许有用的解决办法
    这几天组里一位做SAR的师弟在用ENVI53+SARscape5.2.1时遇到了OPENCLPlATFORM/DEVICESNOTFOUND的情况,/SARscape/Preferences/Preferencescommon工具,Generalparameters面板的OpenClPlatformName和OpenCLDeviceName分别为NOPlatform和NoDevice,步骤没办法进行下去,帮忙看了......
  • day11--23.7.11数据类型拓展
    publicclassDemo03{publicstaticvoidmain(String[]args){//整数拓展:进制二进制0b十进制八进制0十六进制0xinti=10;inti2=010;//八进制0inti3=0x10;//十六进制0x0-9A-F16inti4=0x11;Syst......
  • MySQL数据类型(重要)
    整型不同类型存储范围不一样:#默认情况下整型是带负号的tinyint<<<smallint<<<mediumint<<<int<<<biginttinyint:1个字节------>8位------>2^8---->256----->0-255----->-128-127smallint:2个字节存储----->16位---->2^16---->6553......
  • 针对表的SQL语句、针对记录的SQL语句、存储引擎、数据类型、创建表的完成语法
    针对表的SQL语句有表的前提是先有库什么是表?表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段selectdatabase();查看当前所在库use  库名;使用库1.查看表showtables;查看那所有表showcreatetable t......
  • 基于生长的棋盘格角点检测方法--(1)原理介绍
    前言棋盘格中角点检测方法是相机标定中必不可少的步骤之一。Opencv中的函数boolfindChessboardCorners(InputArrayimage,SizepatternSize,OutputArraycorners,intflags=CALIB_CB_ADAPTIVE_THRESH+CALIB_CB_NORMALIZE_IMAGE)就可以轻松实现棋盘格角点检测结果。如下图所示......
  • 基于生长的棋盘格角点检测方法--(2)代码详解(上)
    上一篇介绍了基于生长的棋盘格角点检测方法的大概原理,详见:基于生长的棋盘格角点检测方法–(1)原理介绍本文进一步从代码解读角度出发,更深入地理解工程中是如何实现的。本文中用到的代码可以从以下链接下载http://www.cvlibs.net/software/libcbdetect/这里我把代码中主要的函......
  • 基于生长的棋盘格角点检测方法--(3)代码详解(下)
    接着上一篇基于生长的棋盘格角点检测方法–(2)代码详解(上),来看一下第二个重要函数chessboardsFromCorners。该函数的目的是用上一步骤中找到的角点恢复出棋盘结构。首先初始化一个3x3的角点矩阵,也就是一个2x2的棋盘格,这是组成一个棋盘的最小单位了。然后利用定义的棋盘能量函数来从......