javascript instanceof 与typeof使用说明


Posted in Javascript onJanuary 11, 2010

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对象,尽管看起来很像。

JavaScript中instanceof运算符是返回一个 Boolean 值,指出对象是否是特定类的一个实例。
使用方法:
result = object instanceof class
其中result是必选项。任意变量。
object是必选项。任意对象表达式。
class是必选项。任意已定义的对象类。

说明
如果 object 是 class 的一个实例,则 instanceof 运算符返回 true。如果 object 不是指定类的一个实例,或者 object 是 null,则返回 false。

JavaScript中instanceof运算符
下面的例子举例说明了 instanceof 运算符的用法。

function objTest(obj){ 
var i, t, s = ""; // 创建变量。 
t = new Array(); // 创建一个数组。 
t["Date"] = Date; // 填充数组。 
t["Object"] = Object; 
t["Array"] = Array; 
for (i in t) 
{ 
if (obj instanceof t[i]) // 检查 obj 的类。 
{ 
s += "obj is an instance of " + i + "\n"; 
} 
else 
{ 
s += "obj is not an instance of " + i + "\n"; 
} 
} 
return(s); // 返回字符串。 
} var obj = new Date(); 
response.write(objTest(obj));
Javascript 相关文章推荐
js 操作符实例代码
Oct 24 Javascript
jquery学习笔记 用jquery实现无刷新登录
Aug 08 Javascript
JS中的异常处理方法分享
Dec 22 Javascript
JavaScript中的Truthy和Falsy介绍
Jan 01 Javascript
JavaScript中常见的字符串操作函数及用法汇总
May 04 Javascript
php 修改密码实现代码
May 24 Javascript
vue watch深度监听对象实现数据联动效果
Aug 16 Javascript
vue+vue-router转场动画的实例代码
Sep 01 Javascript
vue 使某个组件不被 keep-alive 缓存的方法
Sep 21 Javascript
微信小程序如何播放腾讯视频的实现
Sep 20 Javascript
小程序自定义圆形进度条
Nov 17 Javascript
如何优化vue打包文件过大
Apr 13 Vue.js
javascript call方法使用说明
Jan 11 #Javascript
jQuery UI-Draggable 参数集合
Jan 10 #Javascript
将CKfinder整合进CKEditor3.0的新方法
Jan 10 #Javascript
js或css文件后面跟参数的原因说明
Jan 09 #Javascript
Javascript的构造函数和constructor属性
Jan 09 #Javascript
jQuery 页面 Mask实现代码
Jan 09 #Javascript
JQuery 遮罩层实现(mask)实现代码
Jan 09 #Javascript
You might like
业余方法DIY电子管FM收音机
2021/03/02 无线电
php实现文件上传及头像预览功能
2017/01/15 PHP
javascript实现的动态添加表单元素input,button等(appendChild)
2007/11/24 Javascript
javascript数组去重3种方法的性能测试与比较
2013/03/26 Javascript
jQuery性能优化技巧分析
2015/02/20 Javascript
jQuery DOM插入节点操作指南
2015/03/03 Javascript
jQuery控制cookie过期时间的方法
2015/04/07 Javascript
使用javascript将时间转换成今天,昨天,前天等格式
2015/06/25 Javascript
Jquery日历插件制作简单日历
2015/10/28 Javascript
AngularJs学习第八篇 过滤器filter创建
2016/06/08 Javascript
javascript深拷贝(deepClone)详解
2016/08/24 Javascript
关于javascript获取内联样式与嵌入式样式的实例
2017/06/01 Javascript
深入浅出理解JavaScript闭包的功能与用法
2018/08/01 Javascript
在node中使用jwt签发与验证token的方法
2019/04/03 Javascript
vue Element左侧无限级菜单实现
2020/06/10 Javascript
深入理解 ES6中的 Reflect用法
2020/07/18 Javascript
[02:44]完美大师赛主赛事淘汰赛第二日观众采访
2017/11/24 DOTA
python显示生日是星期几的方法
2015/05/27 Python
python用模块zlib压缩与解压字符串和文件的方法
2016/12/16 Python
Python编程实现及时获取新邮件的方法示例
2017/08/10 Python
Python找出最小的K个数实例代码
2018/01/04 Python
Python判断中文字符串是否相等的实例
2018/07/06 Python
详解如何将python3.6软件的py文件打包成exe程序
2018/10/09 Python
python检测文件夹变化,并拷贝有更新的文件到对应目录的方法
2018/10/17 Python
Python图像处理之图片文字识别功能(OCR)
2019/07/30 Python
如何通过python实现人脸识别验证
2020/01/17 Python
Python求凸包及多边形面积教程
2020/04/12 Python
Python读写压缩文件的方法
2020/07/30 Python
使用python库xlsxwriter库来输出各种xlsx文件的示例
2020/09/01 Python
Python中qutip用法示例详解
2020/10/02 Python
瑞典Happy Socks美国官网:购买色彩斑斓的快乐袜子
2016/10/19 全球购物
MSC邮轮官方网站:加勒比海、地中海和世界各地的假期
2018/08/27 全球购物
民间借贷借条如何写
2015/05/26 职场文书
聊一聊python常用的编程模块
2021/05/14 Python
Go 语言结构实例分析
2021/07/04 Golang
SONY600GR,国产收音机厂商永远的痛
2022/04/05 无线电