JavaScript中instanceof运算符的使用示例


Posted in Javascript onJune 08, 2016

instanceof运算符可以用来判断某个构造函数的prototype属性是否存在另外一个要检测对象的原型链上。

实例一:普遍用法

A instanceof B :检测B.prototype是否存在于参数A的原型链上.

function Ben() {

}
var ben = new Ben();
console.log(ben instanceof Ben);//true

实例二:继承中判断实例是否属于它的父类

function Ben_parent() {}

function Ben_son() {}

Ben_son.prototype = new Ben_parent();//原型继承

var ben_son = new Ben_son();

console.log(ben_son instanceof Ben_son);//true

console.log(ben_son instanceof Ben_parent);//true

实例三:表明String对象和Date对象都属于Object类型

下面的代码使用了instanceof来证明:String和Date对象同时也属于Object类型。

var simpleStr = "This is a simple string"; 
var myString = new String();
var newStr  = new String("String created with constructor");
var myDate  = new Date();
var myObj   = {};

simpleStr instanceof String; // returns false, 检查原型链会找到 undefined
myString instanceof String; // returns true
newStr  instanceof String; // returns true
myString instanceof Object; // returns true

myObj instanceof Object;  // returns true, despite an undefined prototype
({}) instanceof Object;  // returns true, 同上

myString instanceof Date;  // returns false

myDate instanceof Date;   // returns true
myDate instanceof Object;  // returns true
myDate instanceof String;  // returns false

实例四:演示mycar属于Car类型的同时又属于Object类型

下面的代码创建了一个类型Car,以及该类型的对象实例mycar. instanceof运算符表明了这个mycar对象既属于Car类型,又属于Object类型。

function Car(make, model, year) {
 this.make = make;
 this.model = model;
 this.year = year;
}
var mycar = new Car("Honda", "Accord", 1998);
var a = mycar instanceof Car;  // 返回 true
var b = mycar instanceof Object; // 返回 true
Javascript 相关文章推荐
javascript 装载iframe子页面,自适应高度
Mar 20 Javascript
两种WEB下的模态对话框 (asp.net或js的分别实现)
Dec 02 Javascript
javascript限制文本框只允许输入数字(曾经与现在的方法对比)
Jan 18 Javascript
基于jQuery.Validate验证库知识点的详解
Apr 26 Javascript
如何通过js实现图片预览功能【附实例代码】
Mar 30 Javascript
JS实现放大、缩小及拖拽图片的方法【可兼容IE、火狐】
Aug 23 Javascript
Javascript日期格式化format函数的使用方法
Aug 30 Javascript
如何在Angular.JS中接收并下载PDF
Nov 26 Javascript
浅谈JS对html标签的属性的干预以及对CSS样式表属性的干预
Jun 25 Javascript
vue-cli3配置与跨域处理方法
Aug 17 Javascript
微信小程序 点击切换样式scroll-view实现代码实例
Oct 11 Javascript
CKEditor扩展插件:自动排版功能autoformat插件实现方法详解
Feb 06 Javascript
实例讲解JavaScript中instanceof运算符的用法
Jun 08 #Javascript
js获取对象、数组的实际长度,元素实际个数的实现代码
Jun 08 #Javascript
JS & JQuery 动态添加 select option
Jun 08 #Javascript
Jquery ajax请求导出Excel表格的实现代码
Jun 08 #Javascript
浅谈几种常用的JS类定义方法
Jun 08 #Javascript
浅谈javascript中的constructor
Jun 08 #Javascript
js定义类的几种方法(推荐)
Jun 08 #Javascript
You might like
PHP新手上路(九)
2006/10/09 PHP
php 判断网页是否是utf8编码的方法
2014/06/06 PHP
PHP获取mysql数据表的字段名称和详细信息的方法
2014/09/27 PHP
yii,CI,yaf框架+smarty模板使用方法
2015/12/29 PHP
谈谈php对接芝麻信用踩的坑
2016/12/01 PHP
php可变长参数处理函数详解
2017/02/22 PHP
php中curl和soap方式请求服务超时问题的解决
2018/06/11 PHP
php实现二叉树中和为某一值的路径方法
2018/10/14 PHP
动态为事件添加js代码示例
2009/02/15 Javascript
jQuery1.6 使用方法一
2011/11/23 Javascript
jquery限制输入字数,并提示剩余字数实现代码
2012/12/24 Javascript
js 在定义的时候立即执行的函数表达式(function)写法
2013/01/16 Javascript
Eclipse配置Javascript开发环境图文教程
2015/01/29 Javascript
js重写alert事件(避免alert弹框标题出现网址)
2020/12/04 Javascript
python使用socket远程连接错误处理方法
2015/04/29 Python
Python 40行代码实现人脸识别功能
2017/04/02 Python
python实现生命游戏的示例代码(Game of Life)
2018/01/24 Python
Python中return self的用法详解
2018/07/27 Python
python用BeautifulSoup库简单爬虫实例分析
2018/07/30 Python
Python远程视频监控程序的实例代码
2019/05/05 Python
Python彻底删除文件夹及其子文件方式
2019/12/23 Python
Keras自定义实现带masking的meanpooling层方式
2020/06/16 Python
使用canvas对多图片拼合并导出图片的方法
2018/08/28 HTML / CSS
数据库什么时候应该被重组
2012/11/02 面试题
毕业自我鉴定范文
2013/11/06 职场文书
大学四年职业生涯规划书范文
2014/01/02 职场文书
国际贸易专业个人求职信格式
2014/02/02 职场文书
校园安全广播稿
2014/02/08 职场文书
应用数学专业求职信
2014/03/14 职场文书
摄影专业毕业生求职信
2014/08/05 职场文书
2014年小学国庆节活动方案
2014/09/16 职场文书
元旦标语大全
2014/10/09 职场文书
2014年机关工会工作总结
2014/12/19 职场文书
创业计划书之餐饮
2019/09/02 职场文书
用Python将库打包发布到pypi
2021/04/13 Python
SpringDataJPA在Entity中常用的注解介绍
2021/12/06 Java/Android