博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
the diff typeof and instanceof
阅读量:6706 次
发布时间:2019-06-25

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

instanceof和typeof都能用来判断一个变量是否为空或是什么类型的变量。     typeof用以获取一个变量的类型,typeof一般只能返回如下几个结果:number,boolean,string,function,object,undefined。我们可以使用typeof来获取一个变量是否存在,如if(typeof a!="undefined"){},而不要去使用if(a)因为如果a不存在(未声明)则会出错,对于Array,Null等特殊对象使用typeof一律返回object,这正是typeof的局限性。     如果我们希望获取一个对象是否是数组,或判断某个变量是否是某个对象的实例则要选择使用instanceof。instanceof用于判断一个变量是否某个对象的实例,如var a=new Array();alert(a instanceof Array);会返回true,同时alert(a instanceof Object)也会返回true;这是因为Array是object的子类。再如:function test(){};var a=new test();alert(a instanceof test)会返回true。     谈到instanceof我们要多插入一个问题,就是function的arguments,我们大家也许都认为arguments是一个Array,但如果使用instaceof去测试会发现arguments不是一个Array对象,尽管看起来很像。另外:测试 var a=new Array();if (a instanceof Object) alert('Y');else alert('N');得'Y’但 if (window instanceof Object) alert('Y');else alert('N');得'N'所以,这里的instanceof测试的object是指js语法中的object,不是指dom模型对象。使用typeof会有些区别alert(typeof(window) 会得 object

 

转载于:https://www.cnblogs.com/win-and-first/p/javascript-diff-typeof-and-instanceof.html

你可能感兴趣的文章
索尼公司宣布公司架构及管理结构调整
查看>>
苹果:很快就能找到FBI利用的漏洞
查看>>
引领新ICT 华为企业业务参加CeBIT 2016预热大会
查看>>
戴尔在新加坡设立IoT实验室
查看>>
云南:加强数据开放共享 服务农业产业化
查看>>
拆分一年多了,“两个惠普”公司过得还好不好?
查看>>
电脑病毒或可通过声音进行传播?
查看>>
几个Linux驱动面试题目
查看>>
外媒分析富士康收购夏普的5大原因
查看>>
强强联手-赛迪中科数据中心联合实验室应运而生
查看>>
Web应用防火墙:必须拥有还是面临淘汰?
查看>>
码农的性能测试
查看>>
微软孵化平台筑“巢”南京
查看>>
我的第一个物联网项目:一份企业物联网项目指南
查看>>
安防迎来5G时代来临 是机遇还是挑战?
查看>>
中情局黑客武器库曝光,苹果安卓加密系统均被突破
查看>>
对Gogo不满 微软也来掺和飞机WiFi服务
查看>>
diy高手在民间
查看>>
国产IT彪起来了,后浪要将前浪拍死在沙滩上
查看>>
安防软件系统集成解决方案 想说爱你不容易
查看>>