技术标签: 类型判断 判断类型 javascript typeof instanceof
typeof
作用:用于判断一个一个表达式,(对象或者原始值),返回一个字符串。
返回的可能的值(摘自mdn)
类型 | 结果 |
---|---|
Undefined | "undefined" |
Null | "object" (历史遗留问题) |
Boolean | "boolean" |
Number | "number" |
String | "string" |
Symbol (ECMAScript 6 新增) | "symbol" |
宿主对象(由JS环境提供) | Implementation-dependent |
函数对象 ( [[Call]] 在ECMA-262条款中实现了) | "function" |
任何其他对象 | "object" |
instanceof
instanceof 运算符用来测试一个对象在其原型链中是否存在一个构造函数的 prototype 属性。
使用规则:
object instanceof constructor
要求前面是个对象,后面是一个构造函数。而且返回的是布尔型的,不是true就是false。
常用使用:
由于typeof只能判断类型,所以,数组和对象返回的都是object,这时就需要使用instanceof来判断是否是
[] instanceof Array //true
function getDataType(obj) {
if(obj === null){
return "null";
}else if(typeof obj === "object"){
if(obj instanceof Array){
return "array";
}else{
return "object";
}
}else{
return typeof obj;
}
}
以下是对每个类型的测试
console.log(getDataType(111)); //number
console.log(getDataType("fasd"));//string
console.log(getDataType(true));//boolean
console.log(getDataType(function () { }));//function
console.log(getDataType([]));//array
console.log(getDataType({}));//object
console.log(getDataType(null));//null
console.log(getDataType(undefined));//undefined
console.log(getDataType(/\n/));//object
var a;
console.log(getDataType(a));//undefined 如果传入没有声明的变量会直接报错
文章浏览阅读6.9k次,点赞23次,收藏35次。(2015.26)若系统S1采用死锁避免方法,S2采用死锁检测方法。下列叙述中正确的是:B.I. S1会限制用户申请资源的顺序,而S2不会 II. S1需要进程运行所需要的资源总量信息,而S2不需要 III. S1不会给可能导致死锁的进程分配资源,而S2会A.I、II B.II、III C. I、III D. I、II、III分析:这在书上其实说的很明确了,只是被忽略了。关于死锁的处理主要_若系统s1采用死锁避免方法,s2采用死锁检测方法
文章浏览阅读2.5k次,点赞3次,收藏19次。来源:算法数学俱乐部编辑 ∑Gemini数论人类从学会计数开始就一直和自然数打交道了,后来由于实践的需要,数的概念进一步扩充,自然数被叫做正整数,而把它们的相反数叫做负整数,介于正整数和..._数学分支
文章浏览阅读72次。想深入了解下,使用数据源和连接池的具体操作含义。找了很多资料都没有详细的描述,想问下大家一点疑问。如下:方式一:在tomcat的context.xml中添加了如下代码<Resource name="jdbc/oracleds" auth="Container" type="javax.sql.DataSource" username="scott" password="abc..._lookup("java:/oracleds");是什么意思
文章浏览阅读98次。蒸汽朋克女猎手制备对于概念艺术,您必须清楚地了解您的主要动机是什么。例如,我想模仿一个女猎人(她是DC Comics的超级英雄),我也想给她一个蒸汽朋克的样子。所以我在不同的网站上搜索了很多艺术品,当我得到一些想法时,我开始将它们放入参考表中,包括鞋子,身体,面部,面具,头发,长手套,绑腿等等。尽量简化你的参考表; 它会帮助你不要在中途迷茫。如果你找不到合适的参考资料,你可以在Photoshop中粗略地绘制它。缩短和最小化您的参考集合设计 - 执行在这一点上,我开始阻挡所有..._3d建模次世代朋克风格
文章浏览阅读1.8k次。在博客 iOS AutoLayout: 关联 Xib 和 UIViewController 讨论了 UIViewController 如何和一个 xib 关联并且展现出来.在那篇博客中, 最后说到使用下面这种方式可以加载 ViewController -(instancetype)initWithNibName:(NSString )nibNameOrNil bundle:(NSBundle_cusviewcontroller.xib
文章浏览阅读1.1k次。1、实验目的(1)熟悉用双线性变换法设计IIR 数字滤波器的原理与方法。(2)掌握数字滤波器的计算机仿真方法。(3)通过观察对实际心电图信号的滤波作用,获得数字滤波的感性知识。 2、实验原理利用双线性变换设计IIR 滤波器(只介绍巴特沃斯数字低通滤波器的设计),首先要设计出满足指标要求的模拟滤波器的传递函数)(s H a ,然后由)(s H a 通过双线性变换可得所要设计的IIR 滤波器的系统函数..._人体心电图采样信号在测量过程中往往受到工业高频干扰,所以,必须经过低通滤波处理
文章浏览阅读399次。首发公众号:Android程序员日记作者:贤榆的榆如果你觉得有帮助欢迎关注、赞赏、转发阅读时间:6200字 12分钟2018年的总结每次到了年终总结的时候,回首这一年都恍如昨日。随着年龄的增长,虽然感觉时间变得越来越转眼即逝,但在这一年里,似乎也经历的不少,潦草几句流水账写下我还记得与各位分享一下:1月报了某外教网的一年课程练习口语。(但一年的课程截止发文之日也不到五分之..._019年终总结
文章浏览阅读133次。1)之前项目中出现过类似的警告问题,由于懒因为查找什么情况。最近的一个项目又遇到了如此的问题,实在忍受不了于是找解决办法. 问题如下:Unable to simultaneouslysatisfy constraints.Probably at least one of theconstraints in the following list is one you don..._uistoryboard 约束未生效
文章浏览阅读1k次。文章目录简介子系统subsystems层级 hierarchies任务tasks使用方法实例1实例2简介Cgroup 可让您为系统中所运行任务(进程)的用户定义组群分配资源 – 比如 CPU 时间、系统内存、网络带宽或者这些资源的_子系统和层次系统区别
文章浏览阅读4.1k次。前言大家都知道Python语言有两个特点,第一是它有Python2和Python3两个版本,第二是它是由很多独立的库堆叠起来了,大部分人学习Python都是从Python2开始的,但是由于Python2从2020年开始很多库就停止维护了,大部分互联网公司Python代码也开始从Python2往Python3迁移了,因此大部分开始同时使用Python2和Python3,Python的IDE比较多,..._pycharm同时使用python2和python3
文章浏览阅读1.4k次。正在连接127.0.0.1...无法打开到主机的连接。 在端口 1433: 连接失败解决方案先防火墙新建规则端口1433结果没用!cmd先输入telnet localhost 1433发现还是正在连接localhost 无法打开到主机的连接。 在端口 1433: 连接失败打开配置管理器,找到 SQL Server(SQ_c:\users\lenovo>telnet localhost 1433 正在连接localhost...无法打开到主机的连
文章浏览阅读9.7k次,点赞3次,收藏7次。今天从GitHub上拉下来一个工程,正想要学习的时候,打开工程结果出现了 “无法找到 .NET Core SDK。请检查确保已安装此项且 global.json 中指定的版本(如有)与所安装的版本相匹配” 的报错,在经过一系列百度之后,得到最简单解决方案:使用cmd命令 dotnet --info 查看自己使用的SDK版本,然后直接找到项目中的 global.json 文件,右键打开,直接修改版..._found .net sdk, but did not find dotnet.dll