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中方便增删改cookie的一个类
Oct 11 Javascript
JS等比例缩小图片尺寸的实例
Feb 27 Javascript
jquery根据属性和index来查找属性值并操作
Jul 25 Javascript
JS组件Bootstrap实现下拉菜单效果代码
Apr 26 Javascript
JavaScript常用正则验证函数实例小结【年龄,数字,Email,手机,URL,日期等】
Jan 23 Javascript
JS中的作用域链
Mar 01 Javascript
详解基于vue的移动web app页面缓存解决方案
Aug 03 Javascript
vuex 使用文档小结篇
Jan 11 Javascript
使用pkg打包ThinkJS项目的方法步骤
Dec 30 Javascript
vue 查看dist文件里的结构(多种方式)
Jan 17 Javascript
实现一个Vue自定义指令懒加载的方法示例
Jun 04 Javascript
vant-ui AddressEdit地址编辑和van-area的用法说明
Nov 03 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
?繁体转换的class
2006/10/09 PHP
浅析51个PHP处理字符串的函数
2013/08/02 PHP
php漏洞之跨网站请求伪造与防止伪造方法
2013/08/15 PHP
php 防止表单重复提交两种实现方法
2016/11/03 PHP
基于PHP实现栈数据结构和括号匹配算法示例
2017/08/10 PHP
JavaScript Array Flatten 与递归使用介绍
2011/10/30 Javascript
javascript向flash swf文件传递参数值注意细节
2012/12/11 Javascript
原生js和jQuery写的网页选项卡特效对比
2015/04/27 Javascript
JavaScript中的anchor()方法使用详解
2015/06/08 Javascript
在Node.js应用中读写Redis数据库的简单方法
2015/06/30 Javascript
小心!AngularJS结合RequireJS做文件合并压缩的那些坑
2016/01/09 Javascript
基于jQuery实现select下拉选择可输入附源码下载
2016/02/03 Javascript
jQuery中get方法用法分析
2016/12/07 Javascript
js中小数向上取整数,向下取整数,四舍五入取整数的实现(必看篇)
2017/02/13 Javascript
轻松玩转BootstrapTable(后端使用SpringMVC+Hibernate)
2017/09/06 Javascript
nodejs实现超简单生成二维码的方法
2018/03/17 NodeJs
详解Vue单元测试case写法
2018/05/24 Javascript
基于JS实现带动画效果的流程进度条
2018/06/01 Javascript
vue 权限认证token的实现方法
2018/07/17 Javascript
windows实现npm和cnpm安装步骤
2019/10/24 Javascript
vue.js循环radio的实例
2019/11/07 Javascript
微信小程序如何通过用户授权获取手机号(getPhoneNumber)
2020/01/21 Javascript
python 快速排序代码
2009/11/23 Python
树莓派中python获取GY-85九轴模块信息示例
2013/12/05 Python
Python文件读取的3种方法及路径转义
2015/06/21 Python
利用Python实现Windows定时关机功能
2017/03/21 Python
用python实现名片管理系统
2020/06/18 Python
css3的动画特效之动画序列(animation)
2017/12/22 HTML / CSS
HTML5触摸事件(touchstart、touchmove和touchend)的实现
2020/05/08 HTML / CSS
应用化学专业职业生涯规划书
2014/01/22 职场文书
工作推荐信范文
2014/05/10 职场文书
民族团结好少年事迹材料
2014/08/19 职场文书
个人租房协议书(范本)
2014/10/14 职场文书
springboot拦截器无法注入redisTemplate的解决方法
2021/06/27 Java/Android
Java 异步任务计算FutureTask
2022/04/28 Java/Android
Redis特殊数据类型Geospatial地理空间
2022/06/01 Redis