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 验证表单(form)中的单选(radio)值
Sep 08 Javascript
jquery+ajax每秒向后台发送请求数据然后返回页面的代码
Jan 17 Javascript
JavaScript中的标签语句用法分析
Feb 10 Javascript
AngularJS使用ng-options指令实现下拉框
Aug 23 Javascript
Vue.js每天必学之数据双向绑定
Sep 05 Javascript
详解用Node.js实现Restful风格webservice
Sep 29 Javascript
AngularJS 中的数据源的循环输出
Oct 12 Javascript
解决vue的变量在settimeout内部效果失效的问题
Aug 30 Javascript
JavaScript直接调用函数与call调用的区别实例分析
May 22 Javascript
利用Vue的v-for和v-bind实现列表颜色切换
Jul 17 Javascript
10分钟学会js处理json的常用方法
Dec 06 Javascript
vue封装数字翻牌器
Apr 20 Vue.js
实例讲解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 curl获取301或302转向的网址问题的解决方法
2011/06/02 PHP
深入理解PHP中的empty和isset函数
2016/05/26 PHP
Laravel最佳分割路由文件(routes.php)的方式
2016/08/04 PHP
PHP大文件分块上传功能实例详解
2019/07/22 PHP
PHP获取当前时间不准确问题解决方案
2020/08/14 PHP
js技巧--转义符"\"的妙用
2007/01/09 Javascript
javascript第一课
2007/02/27 Javascript
关于文本限制字数的js代码
2007/04/02 Javascript
JavaScript 比较时间大小的代码
2010/04/24 Javascript
js实现ArrayList功能附实例代码
2014/10/29 Javascript
js日期范围初始化得到前一个月日期的方法
2015/05/05 Javascript
AngularJS基础 ng-src 指令简单示例
2016/08/03 Javascript
Bootstrap的modal拖动效果
2016/12/25 Javascript
深入解析Vue 组件命名那些事
2017/07/18 Javascript
表格展示利器 Bootstrap Table实例代码
2017/09/06 Javascript
JS兼容所有浏览器的DOMContentLoaded事件
2018/01/12 Javascript
vue2.0使用v-for循环制作多级嵌套菜单栏
2018/06/25 Javascript
JS添加或删除HTML dom元素的方法实例分析
2019/03/05 Javascript
微信小程序实现单列下拉菜单效果
2019/04/25 Javascript
jQuery实时统计输入框字数及限制
2020/06/24 jQuery
python中的函数用法入门教程
2014/09/02 Python
Python使用ftplib实现简易FTP客户端的方法
2015/06/03 Python
浅谈Python单向链表的实现
2015/12/24 Python
Python 12306抢火车票脚本
2018/02/07 Python
eclipse创建python项目步骤详解
2019/05/10 Python
如何利用Python开发一个简单的猜数字游戏
2019/09/22 Python
wxpython多线程防假死与线程间传递消息实例详解
2019/12/13 Python
Python如何将将模块分割成多个文件
2020/08/04 Python
波兰快递服务:Globkurier.pl
2019/11/08 全球购物
Ariat英国官网:为世界顶级马术运动员制造最优质的鞋类和服装
2020/02/14 全球购物
《蚂蚁和蝈蝈》教学反思
2014/02/24 职场文书
《沙漠中的绿洲》教学反思
2014/04/24 职场文书
学生保证书范文
2014/04/28 职场文书
小学三年级班主任工作经验交流材料
2015/11/02 职场文书
Python 发送SMTP邮件的简单教程
2021/06/24 Python
Python中Numpy和Matplotlib的基本使用指南
2021/11/02 Python