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 中的replace方法说明
Apr 13 Javascript
js判断变量是否空值的代码
Oct 26 Javascript
基于jquery的滑动样例代码
Nov 20 Javascript
JS 进度条效果实现代码整理
May 21 Javascript
jquery mobile实现拨打电话功能的几种方法
Aug 05 Javascript
使用JS画图之点、线、面
Jan 12 Javascript
基于jquery实现ajax无刷新评论
Aug 19 Javascript
Javascript的动态增加类的实现方法
Oct 20 Javascript
详解小程序rich-text对富文本支持方案
Nov 28 Javascript
elementUI vue this.$confirm 和el-dialog 弹出框 移动 示例demo
Jul 03 Javascript
Angular+ionic实现折叠展开效果的示例代码
Jul 29 Javascript
vue 使用vant插件做tabs切换和无限加载功能的实现
Nov 04 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
实用函数3
2007/11/08 PHP
教你如何用php实现LOL数据远程获取
2014/06/10 PHP
php中base64_decode与base64_encode加密解密函数实例
2014/11/24 PHP
php实现三级级联下拉框
2016/04/17 PHP
PHP实现验证码校验功能
2017/11/16 PHP
js call方法详细介绍(js 的继承)
2013/11/18 Javascript
javaScript如何生成xmlhttp
2013/12/16 Javascript
JavaScript动态修改弹出窗口大小的方法
2015/04/06 Javascript
JQUERY实现网页右下角固定位置展开关闭特效的方法
2015/07/27 Javascript
ReactNative-JS 调用原生方法实例代码
2016/10/08 Javascript
nodejs的HTML分析利器node-jquery用法浅析
2016/11/08 NodeJs
bootstrap日期插件daterangepicker使用详解
2017/10/19 Javascript
JavaScript适配器模式详解
2017/10/19 Javascript
Bootstrap treeview实现动态加载数据并添加快捷搜索功能
2018/01/07 Javascript
vue的全局提示框组件实例代码
2018/02/26 Javascript
浅析Proxy可以优化vue的数据监听机制问题及实现思路
2018/11/29 Javascript
Node.JS枚举统计当前文件夹和子目录下所有代码文件行数
2019/08/23 Javascript
在微信小程序中使用mqtt服务的方法
2019/12/13 Javascript
[03:46]DOTA2英雄基础教程 维萨吉
2013/12/11 DOTA
Python 除法小技巧
2008/09/06 Python
详解Python的单元测试
2015/04/28 Python
Python程序包的构建和发布过程示例详解
2019/06/09 Python
python scrapy爬虫代码及填坑
2019/08/12 Python
keras获得某一层或者某层权重的输出实例
2020/01/24 Python
python数字类型math库原理解析
2020/03/02 Python
pycharm下pyqt4安装及环境配置的教程
2020/04/24 Python
Python数据可视化图实现过程详解
2020/06/12 Python
pytorch下的unsqueeze和squeeze的用法说明
2021/02/06 Python
html5触摸事件判断滑动方向的实现
2018/06/05 HTML / CSS
一套Delphi的笔试题二
2013/05/11 面试题
小学评语大全
2014/04/22 职场文书
个人课题方案
2014/05/08 职场文书
生日宴会策划方案
2014/06/03 职场文书
企业年检委托书范本
2014/10/14 职场文书
校园文化艺术节开幕词
2016/03/04 职场文书
Nginx进程管理和重载原理详解
2021/04/22 Servers