JS判断类型的方法和对应的局限性(typeof、instanceof和Object.prototype.toString.call()的用法)

news2024/12/25 12:43:43

JS判断类型的方法和对应的局限性(typeof、instanceof和Object.prototype.toString.call()的用法)

一、typeof

返回:

该方法返回小写字符串表示检测数据属于什么类型,例如:
检测函数返回function
检测函数返回function

可判断的数据类型:

undefined、string、number、function、boolean、object,symbol,其中Array、null会被识别成object,NaN会被识别成number

不能正确识别Array、null

原因:识别成object的原因是他们前三位二进制是0就会被识别成Object,而null全是0,而不能识别Array的原因是JS本来就只有8中数据类型,null、number、undefined、boolean、string、symbol、bigint、object。

二、instanceof

返回:

该方法返回true或false,用于检测一个对象是否是另一个对象的实例,仅能用于判断对象类型,不能用于判断基本数据类型,如:
在这里插入图片描述
但是null instanceof Object => false

三、Object.prototype.toString.call()

返回:

该方法返回一串字符串,[object 待测对象名],如:
它能正确识别Array,null等等上面方法没法正确识别的类型,不便之处是太长了太难写了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/807105.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【程序员面试金典】02.07. 链表相交

题目 解题思路 Code Java public ListNode getIntersectionNode(ListNode headA, ListNode headB) {if (headA null || headB null) return null;ListNode a headA;ListNode b headB;while (a ! b ) {a a ! null ? a.next : headB; b b ! null ? b.next : headA; …

MD-MTSP:成长优化算法GO求解多仓库多旅行商问题MATLAB(可更改数据集,旅行商的数量和起点)

一、成长优化算法GO 成长优化算法(Growth Optimizer,GO)由Qingke Zhang等人于2023年提出,该算法的设计灵感来源于个人在成长过程中的学习和反思机制。学习是个人通过从外部世界获取知识而成长的过程,反思是检查个体自…

cmake 配置Visual studio的调试命令

配置代码如截图: set_property(TARGET ${TARGET_NAME} PROPERTY VS_DEBUGGER_COMMAND "./consoleTest.exe") set_property(TARGET ${TARGET_NAME} PROPERTY VS_DEBUGGER_COMMAND_ARGUMENTS "./config/labelDriver.cfg") set_propert…

【LeetCode每日一题】——84.柱状图中最大的矩形

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 栈 二【题目难度】 困难 三【题目编号】 84.柱状图中最大的矩形 四【题目描述】 给定 n 个…

【LeetCode】142.环形链表Ⅱ

题目 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部…

WPF线程使用详解:提升应用性能和响应能力

在WPF应用程序开发中,线程的合理使用是保证应用性能和响应能力的关键。WPF提供了多种线程处理方式,包括UI线程、后台线程、Task/Async Await和BackgroundWorker。这些方式与传统的Thread类相比,更加适用于WPF框架,并能够简化线程操…

RTPSv2.2(中文版)

实时发布订阅协议 (RTPS) DDS互操作性 有线协议规范 V2.2 (2014-09-01正式发布) https://www.omg.org/spec/DDSI-RTPS/2.2/PDF 目 录 1 范围Scope 9 2 一致性Conformance 9 3 参考文献References 9 4 术语和定义Terms a…

【fly-iot飞凡物联】(12):EMQX 5.1使用docker 本地部署,接入到Actorcloud的数据库中,成功连接创建的设备,可以控制设备访问状态

目录 前言1,关于2,使用docker 进行部署3,配置API key 可以使用接口访问的4,设置客户端认证,连接PostgreSQL 数据连接5,使用客户端进行连接6,EMQX的API 接口地址7,总结 前言 本文的原…

Vue2封装自定义全局Loading组件

前言 在开发的过程中,点击提交按钮,或者是一些其它场景总会遇到Loading加载框,PC的一些UI库也没有这样的加载框,无法满足业务需求,因此可以自己自定义一个,实现过程如下。 效果图 如何封装? 第…

Linux安装MySQL 8.1.0

MySQL是一个流行的开源关系型数据库管理系统,本教程将向您展示如何在Linux系统上安装MySQL 8.1.0版本。请按照以下步骤进行操作: 1. 下载MySQL安装包 首先,从MySQL官方网站或镜像站点下载MySQL 8.1.0的压缩包mysql-8.1.0-linux-glibc2.28-x…

获评最高级别权威认证!融云通过中国信通院「办公即时通信软件安全能力」评测

点击报名 8 月 3 日(周四)融云直播课~ 近期,融云再获权威认可,旗下百幄智能在线办公套件平台正式通过中国信通院“办公即时通信软件安全能力”测评,并获得最高级别“卓越级”证书。关注【融云 RongCloud】,…

郑州申请IP地址https证书怎么收费

IP地址https证书是为只有公网IP地址的网站准备的数字证书,和域名SSL证书一样IP地址https证书也为IP地址网站提供传输信息加密服务以及身份认证服务,而IP地址申请https证书是按照IP地址的数量进行收费的,IP地址越多,需要申请IP地址…

临时段的cleanup引起的enq:TT–content等待事件处理过程

文章目录 1.问题描叙2.查因过程3.根因4.处理过程4.1 Mark目标segment为CORRUPT4.2 Drop目标segment4.3 释放占用的空间 1.问题描叙 接到用户抱怨无法修改表架构: 2.查因过程 查看当前DB活动: Select sid,serial#,osuser,program,terminal,sql_id,bl…

sap abap log程序

1.成果: 1.数据库表设计: 2.报表 *&---------------------------------------------------------------------* *& Report ZFUNC_LOG *&---------------------------------------------------------------------* *& *&-----…

手把手教你从0入门线段树~

1. 什么是线段树? 1.1 初探线段树 定义:线段树是一种用于解决区间查询问题的数据结构,是一种广义上的二叉搜索树。 原理:它将一个区间划分为多个较小的子区间,并为每个子区间存储一些有用的信息,例如最大值、最小值…

YOLOv5改进系列(16)——添加EMA注意力机制(ICASSP2023|实测涨点)

【YOLOv5改进系列】前期回顾: YOLOv5改进系列(0)——重要性能指标与训练结果评价及分析 YOLOv5改进系列(1)——添加SE注意力机制 YOLOv5改进系列(2)——添加

android stduio 打开工程后直接报Connection refused解决

报错如下:Connection refused 解决方案: 打开gradle-wrapper.properties修改distributionUrl 将: distributionUrlhttp\://localhost/gradle/distributions/gradle-6.5-bin.zip 替换为: distributionUrlhttps\://services.gradle.org/distributions/gradle-6.5-bin.zip 错…

<C语言> 文件操作

1 文件指针 缓冲文件系统中,关键的概念是“文件类型指针”,简称“文件指针”。 每个被使用的文件都在内存中开辟了一个相应的文件信息区,用来存放文件的相关信息(如文件的名 字,文件状态及文件当前的位置等&#xff…

windows系统之WSL 安装 Ubuntu

WSL windows10 以上才有这个wsl功能 WSL: windows Subsystem for Linux 是应用于Windows系统之上的Linux子系统 作用很简单,可以在Windows系统中获取Linux系统环境,并完全直连计算机硬件,无需要通过虚拟机虚拟硬件 Windows10的W…

MD-MTSP:斑马优化算法ZOA求解多仓库多旅行商问题MATLAB(可更改数据集,旅行商的数量和起点)

一、斑马优化算法ZOA 斑马优化算法(Zebra Optimization Algorithm,ZOA)Eva Trojovsk等人于2022年提出,其模拟斑马的觅食和对捕食者攻击的防御行为。斑马优化算法(Zebra Optimization Algorithm,ZOA&#x…