JavaScript instanceof 的使用方法示例介绍


Posted in Javascript onOctober 23, 2013

在 JavaScript 中,判断一个变量的类型尝尝会用 typeof 运算符,在使用 typeof 运算符时采用引用类型存储值会出现一个问题,无论引用的是什么类型的对象,它都返回 “object”。这就需要用到instanceof来检测某个对象是不是另一个对象的实例。

通常来讲,使用 instanceof 就是判断一个实例是否属于某种类型。
另外,更重的一点是 instanceof 可以在继承关系中用来判断一个实例是否属于它的父类型。

// 判断 foo 是否是 Foo 类的实例 , 并且是否是其父类型的实例function Aoo(){} 
function Foo(){} 
Foo.prototype = new Aoo();//JavaScript 原型继承 
var foo = new Foo(); 
console.log(foo instanceof Foo)//true 
console.log(foo instanceof Aoo)//true

上面的代码中是判断了一层继承关系中的父类,在多层继承关系中,instanceof 运算符同样适用。

instanceof 复杂用法

function Cat(){} 
Cat.prototype = {} function Dog(){} 
Dog.prototype ={} 
var dog1 = new Dog(); 
alert(dog1 instanceof Dog);//true 
alert(dog1 instanceof Object);//true 
Dog.prototype = Cat.prototype; 
alert(dog1 instanceof Dog);//false 
alert(dog1 instanceof Cat);//false 
alert(dog1 instanceof Object);//true; 
var dog2= new Dog(); 
alert(dog2 instanceof Dog);//true 
alert(dog2 instanceof Cat);//true 
alert(dog2 instanceof Object);//true 
Dog.prototype = null; 
var dog3 = new Dog(); 
alert(dog3 instanceof Cat);//false 
alert(dog3 instanceof Object);//true 
alert(dog3 instanceof Dog);//error

要想从根本上了解 instanceof 的奥秘,需要从两个方面着手:1,语言规范中是如何定义这个运算符的。2,JavaScript 原型继承机。大家感兴趣的可以去查看相关资料。
Javascript 相关文章推荐
浅谈JavaScript之事件绑定
Jul 08 Javascript
Jquery中find与each方法用法实例
Feb 04 Javascript
javascript实现点击单选按钮链接转向对应网址的方法
Aug 12 Javascript
javascript伸缩菜单栏实现代码分享
Nov 12 Javascript
基于Jquery制作图片文字排版预览效果附源码下载
Nov 18 Javascript
jQuery+CSS实现滑动的标签分栏切换效果
Dec 17 Javascript
浅谈addEventListener和attachEvent的区别
Jul 14 Javascript
JS写XSS cookie stealer来窃取密码的步骤详解
Nov 20 Javascript
当vue路由变化时,改变导航栏的样式方法
Aug 22 Javascript
Electron中实现大文件上传和断点续传功能
Oct 28 Javascript
vue中axios请求的封装实例代码
Mar 23 Javascript
详解小程序开发经验:多页面数据同步
May 18 Javascript
javascript中的=等号个数问题两个跟三个有什么区别
Oct 23 #Javascript
用js来获取上传的文件名纯粹是为了美化而用
Oct 23 #Javascript
ajax与302响应代码测试
Oct 23 #Javascript
通过js简单实现将一个文本内容转译成加密文本
Oct 22 #Javascript
js简单实现让文本框内容逐个字的显示出来
Oct 22 #Javascript
Javascript简单实现可拖动的div
Oct 22 #Javascript
将两个div左右并列显示并实现点击标题切换内容
Oct 22 #Javascript
You might like
Oracle Faq(Oracle的版本)
2006/10/09 PHP
简单PHP上传图片、删除图片实现代码
2010/05/12 PHP
php 根据url自动生成缩略图并处理高并发问题
2014/01/23 PHP
php获取目标函数执行时间示例
2014/03/04 PHP
PHP设计模式之工厂方法设计模式实例分析
2018/04/25 PHP
PHP 加密 Password Hashing API基础知识点
2020/03/02 PHP
基于prototype的validation.js发布2.3.4新版本,让你彻底脱离表单验证的烦恼
2006/12/06 Javascript
jQuery 源码分析笔记(6) jQuery.data
2011/06/08 Javascript
Moment.js 不容错过的超棒Javascript日期处理类库
2012/04/15 Javascript
悬浮数字的实现案例
2014/02/19 Javascript
完美兼容各大浏览器的jQuery仿新浪图文淡入淡出间歇滚动特效
2014/11/12 Javascript
DOM操作原生js 的bug,使用jQuery 可以消除的解决方法
2016/09/04 Javascript
javascript循环链表之约瑟夫环的实现方法
2017/01/16 Javascript
Vue filters过滤器的使用方法
2017/07/14 Javascript
vue v-for直接循环数字实例
2019/11/07 Javascript
跟老齐学Python之大话题小函数(2)
2014/10/10 Python
Python判断操作系统类型代码分享
2014/11/22 Python
Python基于checksum计算文件是否相同的方法
2015/07/09 Python
在主机商的共享服务器上部署Django站点的方法
2015/07/22 Python
python爬虫之urllib库常用方法用法总结大全
2018/11/14 Python
Python字符串逆序输出的实例讲解
2019/02/16 Python
Django Rest framework认证组件详细用法
2019/07/25 Python
python将字母转化为数字实例方法
2019/10/04 Python
python3从网络摄像机解析mjpeg http流的示例
2020/11/13 Python
Kipling意大利官网:世界著名的时尚休闲包袋品牌
2019/06/05 全球购物
美国家居装饰购物网站:Amanda Lindroth
2020/03/25 全球购物
科室工作个人总结的自我评价
2013/10/29 职场文书
技校毕业生自荐信范文
2014/03/07 职场文书
会计电算化专业自荐信
2014/03/15 职场文书
2016年会开场白台词
2015/06/01 职场文书
建国大业电影观后感
2015/06/01 职场文书
python学习之panda数据分析核心支持库
2021/05/07 Python
css背景和边框标签实例详解
2021/05/21 HTML / CSS
Matplotlib可视化之添加让统计图变得简单易懂的注释
2021/06/11 Python
pytorch中的torch.nn.Conv2d()函数图文详解
2022/02/28 Python
Oracle数据库事务的开启与结束详解
2022/06/25 Oracle