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 相关文章推荐
Firebug 字幕文件JSON地址获取代码
Oct 28 Javascript
jQuery.extend 函数详解
Feb 03 Javascript
jQuery数据缓存功能的实现思路及简单模拟
May 27 Javascript
JavaScript中获取样式的原生方法小结
Oct 08 Javascript
jQuery选择器querySelector的使用指南
Jan 23 Javascript
jQuery左右滚动支持图片放大缩略图图片轮播代码分享
Aug 26 Javascript
基于JQuery实现仿网易邮箱全屏动感滚动插件fullPage
Sep 20 Javascript
基于replaceChild制作简单的吞噬特效
Sep 21 Javascript
angular中的http拦截器Interceptors的实现
Feb 21 Javascript
JS中原始值和引用值的储存方式示例详解
Mar 23 Javascript
小程序云开发部署攻略(图文教程)
Oct 30 Javascript
基于vue实现图片验证码倒计时60s功能
Dec 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
Ajax PHP简单入门教程代码
2008/04/25 PHP
一个PHP数组应该有多大的分析
2009/07/30 PHP
Php连接及读取和写入mysql数据库的常用代码
2014/08/11 PHP
PHP可变变量学习小结
2015/11/29 PHP
给PHP开发者的编程指南 第一部分降低复杂程度
2016/01/18 PHP
Bootstrap+PHP实现多图上传功能实例详解
2018/04/08 PHP
laravel框架中视图的基本使用方法分析
2019/11/23 PHP
TNC vs RR BO3 第一场 2.14
2021/03/10 DOTA
通过JS获取用户本地图片路径并显示的代码
2012/02/16 Javascript
Eval and new funciton not the same thing
2012/12/27 Javascript
Knockoutjs 学习系列(一)ko初体验
2016/06/07 Javascript
基于Bootstrap仿淘宝分页控件实现代码
2016/11/07 Javascript
JavaScript面向对象分层思维全面解析
2016/11/22 Javascript
vue小白入门教程
2018/04/02 Javascript
ES6之模版字符串的具体使用
2018/05/17 Javascript
微信小程序中的店铺评分组件及vue中用svg实现的评分显示组件
2018/11/16 Javascript
JavaScript刷新页面的几种方法总结
2019/03/28 Javascript
微信小程序实现收货地址左滑删除
2020/11/18 Javascript
javascript面向对象创建对象的方式小结
2019/07/29 Javascript
原生JS与CSS实现软件卸载对话框功能
2019/12/05 Javascript
详解javascript脚本何时会被执行
2021/02/05 Javascript
[04:22]DOTA2上海特级锦标赛主赛事第四日TOP10
2016/03/06 DOTA
Python面向对象之类的封装操作示例
2019/06/08 Python
python pandas生成时间列表
2019/06/29 Python
PyQt5中多线程模块QThread使用方法的实现
2020/01/31 Python
django-csrf使用和禁用方式
2020/03/13 Python
基于Python第三方插件实现西游记章节标注汉语拼音的方法
2020/05/22 Python
Pyinstaller加密打包应用的示例代码
2020/06/11 Python
python如何发送带有附件、正文为HTML的邮件
2021/02/27 Python
日本最大的药妆连锁店:Matsukiyo松本清药妆店
2017/11/23 全球购物
一套带答案的C++笔试题
2014/01/10 面试题
物流管理专业职业生涯规划书
2014/01/06 职场文书
学校领导班子群众路线整改措施
2014/09/16 职场文书
群众路线个人剖析材料
2014/10/07 职场文书
Python 如何将integer转化为罗马数(3999以内)
2021/06/05 Python
Redisson实现Redis分布式锁的几种方式
2021/08/07 Redis