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 相关文章推荐
prototype与jquery下Ajax实现的差别
Sep 13 Javascript
jQuery mobile转换url地址及获取url中目录部分的方法
Dec 04 Javascript
简单介绍JavaScript数据类型之隐式类型转换
Dec 28 Javascript
如何高效率去掉js数组中的重复项
Apr 12 Javascript
Google 地图获取API Key详细教程
Aug 06 Javascript
利用js来实现缩略语列表、文献来源链接和快捷键列表
Dec 16 Javascript
利用angularjs1.4制作的简易滑动门效果
Feb 28 Javascript
详解webpack 多入口配置
Jun 16 Javascript
vue源码解析之事件机制原理
Apr 21 Javascript
JSON字符串操作移除空串更改key/value的介绍
Jan 05 Javascript
webpack4从0搭建组件库的实现
Nov 29 Javascript
vue表单验证之禁止input输入框输入空格
Dec 03 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
使用网络地址转换实现多服务器负载均衡
2006/10/09 PHP
php通过array_merge()函数合并两个数组的方法
2015/03/18 PHP
Laravel5.3+框架定义API路径取消CSRF保护方法详解
2020/04/06 PHP
jquery 弹出层注册页面等(asp.net后台)
2010/06/17 Javascript
jquery获取div距离窗口和父级dv的距离示例
2013/10/10 Javascript
event对象获取方法总结在google浏览器下测试
2013/11/03 Javascript
JavaScript对象数组排序函数及六个用法
2015/12/23 Javascript
javascript获取wx.config内部字段解决微信分享
2016/03/09 Javascript
原生js实现鼠标跟随效果
2017/02/28 Javascript
jQuery插件FusionCharts实现的2D柱状图效果示例【附demo源码下载】
2017/03/06 Javascript
jQuery Form插件使用详解_动力节点Java学院整理
2017/07/17 jQuery
angular4 如何在全局设置路由跳转动画的方法
2017/08/30 Javascript
总结JavaScript在IE9之前版本中内存泄露问题
2018/04/28 Javascript
vue-cli3脚手架的配置及使用教程
2018/08/28 Javascript
jQuery AJAX与jQuery事件的分析讲解
2019/02/18 jQuery
在vue-cli 3中给stylus、sass样式传入共享的全局变量
2019/08/12 Javascript
Python 的 Socket 编程
2015/03/24 Python
Ubuntu下安装PyV8
2016/03/13 Python
简单的python后台管理程序
2017/04/13 Python
python实现数独游戏 java简单实现数独游戏
2018/03/30 Python
如何使用pyinstaller打包32位的exe程序
2019/05/26 Python
python3的UnicodeDecodeError解决方法
2019/12/20 Python
解决Python中报错TypeError: must be str, not bytes问题
2020/04/07 Python
基于python SMTP实现自动发送邮件教程解析
2020/06/02 Python
RUIFIER官网:英国奢侈高级珠宝品牌
2020/06/12 全球购物
如何在Oracle中查看各个表、表空间占用空间的大小
2015/10/31 面试题
商场开业庆典策划方案
2014/06/02 职场文书
计算机网络及管理学专业求职信
2014/06/05 职场文书
晋江市人民政府党组群众路线教育实践活动整改方案
2014/10/25 职场文书
2016先进集体事迹材料范文
2016/02/25 职场文书
导游词之西湖雷峰塔
2019/09/18 职场文书
《和时间赛跑》读后感3篇
2019/12/16 职场文书
Netty结合Protobuf进行编解码的方法
2021/06/26 Java/Android
Mysql事务索引知识汇总
2022/03/17 MySQL
Django + Taro 前后端分离项目实现企业微信登录功能
2022/04/07 Python
苹果macOS 13开发者预览版Beta 8发布 正式版10月发布
2022/09/23 数码科技