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中的107个基础知识收集整理 推荐
Mar 29 Javascript
javascript 动态修改样式和层叠样式表代码
Apr 27 Javascript
Javascript之this关键字深入解析
Nov 12 Javascript
coffeescript使用的方式汇总
Aug 05 Javascript
详解JavaScript操作HTML DOM的基本方式
Oct 21 Javascript
修复jQuery tablesorter无法正确排序的bug(加千分位数字后)
Mar 30 Javascript
javascript html5摇一摇功能的实现
Apr 19 Javascript
jQuery购物网页经典制作案例
Aug 19 Javascript
JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题如何解决
Nov 11 Javascript
javascript修改浏览器title方法 JS动态修改浏览器标题
Nov 30 Javascript
在vue中更换字体,本地存储字体非引用在线字体库的方法
Sep 28 Javascript
vue3获取当前路由地址
Feb 18 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禁止个别IP访问网站
2013/10/30 PHP
Laravel 4 初级教程之安装及入门
2014/10/30 PHP
php中session与cookie的比较
2015/01/27 PHP
tp5(thinkPHP5)操作mongoDB数据库的方法
2018/01/20 PHP
PHP实现新型冠状病毒疫情实时图的实例
2020/02/04 PHP
jQuery DOM操作小结与实例
2010/01/07 Javascript
Jquery实现的一种常用高亮效果示例代码
2014/01/28 Javascript
jQuery菜单插件superfish使用指南
2015/04/21 Javascript
基于jQuery实现仿QQ空间送礼物功能代码
2016/05/24 Javascript
JavaScript数据结构链表知识详解
2016/11/21 Javascript
JavaScript自定义浏览器滚动条兼容IE、 火狐和chrome
2017/01/05 Javascript
js实现颜色阶梯渐变效果(Gradient算法)
2017/03/21 Javascript
详解jQuery中关于Ajax的几个常用的函数
2017/07/17 jQuery
原生JS实现图片懒加载之页面性能优化
2019/04/26 Javascript
layui关闭弹窗后刷新主页面和当前更改项的例子
2019/09/06 Javascript
解决 window.onload 被覆盖的问题方法
2020/01/14 Javascript
Element Carousel 走马灯的具体实现
2020/07/26 Javascript
vue-cli中实现响应式布局的方法
2021/03/02 Vue.js
[00:10]DOTA2 TI9勇士令状明日上线
2019/05/07 DOTA
videocapture库制作python视频高速传输程序
2013/12/23 Python
详解Python的Flask框架中的signals信号机制
2016/06/13 Python
详解 Python 读写XML文件的实例
2017/08/02 Python
深入理解python中函数传递参数是值传递还是引用传递
2017/11/07 Python
详解tensorflow载入数据的三种方式
2018/04/24 Python
python3.7.0的安装步骤
2018/08/27 Python
详解pyenv下使用python matplotlib模块的问题解决
2018/11/29 Python
python SocketServer源码深入解读
2019/09/17 Python
Python多线程实现支付模拟请求过程解析
2020/04/21 Python
计算机应用毕业生自荐信
2013/10/23 职场文书
听课评语大全
2014/04/30 职场文书
啦啦队口号大全
2014/06/16 职场文书
城市创卫标语
2014/06/17 职场文书
2014年小学体育工作总结
2014/12/11 职场文书
个人学习总结范文
2015/02/15 职场文书
学校食堂管理制度
2015/08/04 职场文书
利用 SQL Server 过滤索引提高查询语句的性能分析
2021/07/15 SQL Server