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 相关文章推荐
静态图片的十一种滤镜效果--不支持Ie7及非IE浏览器。
Mar 06 Javascript
基于jquery的代码显示区域自动拉长效果
Dec 07 Javascript
修改js Calendar日历控件 兼容IE9/谷歌/火狐
Jan 04 Javascript
JS打印gridview实现原理及代码
Feb 05 Javascript
防止Node.js中错误导致进程阻塞的办法
Aug 11 Javascript
JQuery手速测试小游戏实现思路详解
Sep 20 Javascript
JS获取浏览器地址栏的多个参数值的任意值实例代码
Jul 24 Javascript
JS异步执行结果获取的3种解决方式
Feb 19 Javascript
vscode配置vue下的es6规范自动格式化详解
Mar 20 Javascript
Vue中通过Vue.extend动态创建实例的方法
Aug 13 Javascript
详解JavaScript之ES5的继承
Jul 08 Javascript
Vue3.0写自定义指令的简单步骤记录
Jun 27 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投票系统防刷票判断流程分析
2012/02/04 PHP
php基于GD库画五星红旗的方法
2015/02/24 PHP
PHP实现多文件上传的方法
2015/07/08 PHP
popdiv
2006/07/14 Javascript
jquery.autocomplete修改实现键盘上下键自动填充示例
2013/11/19 Javascript
jQuery+jsp实现省市县三级联动效果(附源码)
2015/12/03 Javascript
多个js毫秒倒计时同时进行效果
2016/01/05 Javascript
纯JS代码实现气泡效果
2016/05/04 Javascript
浅谈javascript:两种注释,声明变量,定义函数
2016/09/29 Javascript
JavaScript基础之AJAX简单的小demo
2017/01/29 Javascript
underscore之Chaining_动力节点Java学院整理
2017/07/10 Javascript
详解利用 Express 托管静态文件的方法
2017/09/18 Javascript
详解设置Webstorm 利用babel将ES6自动转码成ES5
2017/12/20 Javascript
详解ES6中的代理模式——Proxy
2018/01/08 Javascript
微信小程序自定义toast弹窗效果的实现代码
2018/11/15 Javascript
Vue入门之数量加减运算操作示例
2018/12/11 Javascript
d3绘制基本的柱形图的实现代码
2018/12/12 Javascript
详解element-ui中表单验证的三种方式
2019/09/18 Javascript
ES6扩展运算符和rest运算符用法实例分析
2020/05/23 Javascript
Python字符遍历的艺术
2008/09/06 Python
Python实现动态加载模块、类、函数的方法分析
2017/07/18 Python
Python获取当前函数名称方法实例分享
2018/01/18 Python
利用pyinstaller将py文件打包为exe的方法
2018/05/14 Python
Python闭包思想与用法浅析
2018/12/27 Python
python3 字符串/列表/元组(str/list/tuple)相互转换方法及join()函数的使用
2019/04/03 Python
Python之虚拟环境virtualenv,pipreqs生成项目依赖第三方包的方法
2019/07/23 Python
Python浮点数四舍五入问题的分析与解决方法
2019/11/19 Python
CSS3的Border-radius轻松制作圆角
2012/12/24 HTML / CSS
在线学习西班牙语、法语或其他语言:Babbel.com
2018/02/07 全球购物
澳大利亚设计的优质鞋类和适合澳大利亚生活方式的服装:Rivers
2019/04/23 全球购物
会计主管岗位职责
2014/01/03 职场文书
《小熊住山洞》教学反思
2014/02/21 职场文书
产品推广策划方案
2014/05/10 职场文书
新品发布会策划方案
2014/06/08 职场文书
聚众斗殴罪辩护词
2015/05/21 职场文书
2015年会计工作总结范文
2015/05/26 职场文书