JavaScript中instanceof运算符的使用示例
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中isPrototypeOf函数
- JS中的hasOwnProperty()和isPrototypeOf()属性实例详解
- JavaScript中isPrototypeOf函数作用和使用实例
- js中的hasOwnProperty和isPrototypeOf方法使用实例
- JavaScript isPrototypeOf和hasOwnProperty使用区别
- java 中的instanceof用法详解及instanceof是什么意思(推荐)
- Javascript typeof与instanceof的区别
- JavaScript的instanceof运算符学习教程
- JavaScript中instanceof运算符的用法总结
- JavaScript instanceof 的使用方法示例介绍
- JavaScript中isPrototypeOf、instanceof和hasOwnProperty函数的用法详解
相关文章
为JS扩展Array.prototype.indexOf引发的问题及解决办法
这篇文章主要介绍了为JS扩展Array.prototype.indexOf引发的问题及解决办法,需要的朋友可以参考下2015-01-01Javascript中arguments和arguments.callee的区别浅析
这篇文章主要介绍了Javascript中arguments和arguments.callee的区别浅析,本文用一个实例来理解它们的区别,需要的朋友可以参考下2015-04-04深入分析JavaScript 事件循环(Event Loop)
这篇文章主要介绍了JavaScript 事件循环(Event Loop)的的相关资料,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下2020-06-06javascript 数据类型转换(parseInt,parseFloat)
Number、String函数是特殊的函数,在JS引擎中,他会自动判断是作为构造函数调用还是普通调用,所以既可以使用new关键字,也可以作为函数直接调用。2010-07-07
最新评论