博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[四种方法]检测数据类型
阅读量:4570 次
发布时间:2019-06-08

本文共 806 字,大约阅读时间需要 2 分钟。

1.typeof

返回值是一个字符串,如果用两个及以上的typeof检测的话返回值"string",但是他有局限性,能详细检测基本数据类型,但是null不行,检测出来是object,对于引用数据类型步详细检测 只返回object和function.

2.instanceof

检测某个实例是否数据某各类,因为每一种数据类型都对应自己所属的类,所以我们可以通过他来检测数据类型,但是他也有局限性,对于基本数据类型用字面量创建方式创建的变量是无法检测的,但构造函数创建方式可以,引用数据类型可以详细检测

3.constructor

每个类的原型(prototype)上都有一个constructor属性,它指向类本身,那么一个具体的数据类型的实例.constructor 比如"11".constructor->"11"._ _ proto _ _ ->String.protype, string原型上有constructor指向string本身,你也可以通过他的name来得到String类名,也就是他的数据类型

4.Object.prototype.toString()

对象Object类的原型上有一个toString,他可以检测数类型,那么我们就调用Object.prototype.toString()这个方法,用call将里面的this改变成我项检测的那个数据类型,会得到toString console.log(({1:1}).toString());

这个方法不兼容所有浏览器,兼容写法如下⤵️

function getType(type){  return Object.prototype.toString.call(type).split("")[1].replace("]",'');}

转载于:https://www.cnblogs.com/Jiazexin/p/7080334.html

你可能感兴趣的文章
结构化编程 —— 顺序、分支(选择)、循环
查看>>
Python 辨异 —— __init__ 与 __new__
查看>>
算法 Tricks(六)—— 判断一个数是否为完全平方数
查看>>
数组适配器的简单配置
查看>>
WEB UI基础八:链接跳转到标准的工单界面
查看>>
ExtJS动态设置表头
查看>>
深度(Depth)概念
查看>>
linux - camera capture
查看>>
架构设计之Spring-Session分布式集群会话管理【转】
查看>>
给HTML拍个照(如何将html元素转成图片)
查看>>
接口测试测什么?
查看>>
数据库构架设计中的Shared Everthting、Shared Nothing、和Shared Disk
查看>>
小程序调用支付报错:jsapi缺少参数: total_fee
查看>>
地址总线、数据总线、控制总线详解
查看>>
Android BroadcastReceiver(一)
查看>>
复制目录下所有文件(隐藏文件与非隐藏文件)
查看>>
散点图--python库--matpolitlib
查看>>
信数金服: 决策管理和进件管理-Part 2
查看>>
CodeVs[3145 汉诺塔游戏]
查看>>
【敏捷开发】结对编程
查看>>