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 客户端验证上传图片的大小(兼容IE和火狐)
Aug 15 Javascript
jquery CSS选择器笔记
Mar 29 Javascript
Prototype源码浅析 String部分(一)之有关indexOf优化
Jan 15 Javascript
使用jQuery validate 验证注册表单实例演示
Mar 25 Javascript
Jquery实现列表(隔行换色,全选,鼠标滑过当前行)效果实例
Jun 09 Javascript
jQuery自定义图片缩放拖拽插件imageQ实现方法(附demo源码下载)
May 27 Javascript
bootstrap下拉列表与输入框组结合的样式调整
Oct 08 Javascript
原生js轮播(仿慕课网)
Feb 15 Javascript
详解JavaScript数组过滤相同元素的5种方法
May 23 Javascript
jQueryeasyui 中如何使用datetimebox 取两个日期间相隔的天数
Jun 13 jQuery
JS实现简单打字测试
Jun 24 Javascript
vue-cli3项目配置eslint代码规范的完整步骤
Sep 10 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 操作数组(合并,拆分,追加,查找,删除等)
2012/07/20 PHP
php遍历目录输出目录及其下的所有文件示例
2014/01/27 PHP
thinkphp中memcache的用法实例
2014/11/29 PHP
Zend Framework入门教程之Zend_Config组件用法详解
2016/12/09 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
2018/06/13 PHP
来自chinaz的ajax获取评论代码
2008/05/03 Javascript
javascript 操作select下拉列表框的一点小经验
2010/03/20 Javascript
js 遍历json返回的map内容示例代码
2013/10/29 Javascript
NODE.JS加密模块CRYPTO常用方法介绍
2014/06/05 Javascript
jQuery实现视频作为全屏幕背景
2014/12/18 Javascript
JavaScript面试题(指针、帽子和女朋友)
2016/11/23 Javascript
NodeJS仿WebApi路由示例
2017/02/28 NodeJs
JS装饰器函数用法总结
2018/04/21 Javascript
了解javascript中的Dom操作
2019/05/27 Javascript
JS中封装axios来管控api的2种方式
2019/09/11 Javascript
d3.js 地铁轨道交通项目实战
2019/11/27 Javascript
JavaScript console的使用方法实例分析
2020/04/28 Javascript
深入浅析vue全局环境变量和模式
2020/04/28 Javascript
浅谈vue的第一个commit分析
2020/06/08 Javascript
JavaScript事件概念详解(区分静态注册和动态注册)
2021/02/05 Javascript
Python使用matplotlib绘图无法显示中文问题的解决方法
2018/03/14 Python
matplotlib savefig 保存图片大小的实例
2018/05/24 Python
python-tkinter之按钮的使用,开关方法
2019/06/11 Python
Python 实现Serial 与STM32J进行串口通讯
2019/12/18 Python
解决django migrate报错ORA-02000: missing ALWAYS keyword
2020/07/02 Python
localstorage和sessionstorage使用记录(推荐)
2017/05/23 HTML / CSS
HTML5 文件上传下载的实例代码
2017/07/03 HTML / CSS
What's the difference between deep copy and shallow copy? (深拷贝与浅拷贝有什么区别)
2015/11/10 面试题
医学毕业生自荐信
2013/10/11 职场文书
优秀教师获奖感言
2014/01/31 职场文书
自我鉴定总结
2014/03/24 职场文书
2016年暑期社会实践活动总结报告
2016/04/06 职场文书
浅析InnoDB索引结构
2021/04/05 MySQL
Java用自带的Image IO给图片添加水印
2021/06/15 Java/Android
sql查询语句之平均分、最高最低分及排序语句
2022/05/30 MySQL
webpack介绍使用配置教程详解webpack介绍和使用
2022/06/25 Javascript