您的浏览器过于古老 & 陈旧。为了更好的访问体验, 请 升级你的浏览器
Ready 发布于2014年08月06日 05:57

原创 JavaScript isPrototypeOf() 函数详解

326 次浏览 读完需要≈ 4 分钟

内容目录

isPrototypeOf()函数用于指示对象是否存在于另一个对象的原型链中。如果存在,返回true,否则返回false

该方法属于Object对象,由于所有的对象都"继承"了Object的对象实例,因此几乎所有的实例对象都可以使用该方法。

IE 5.5+、FireFox、Chrome、Safari、Opera等主流浏览器均支持该函数

语法

prototypeObject.isPrototypeOf( object )

参数

参数 描述
object Object类型一个对象,将对其原型链进行检查

返回值

isPrototypeOf()函数的返回值为Boolean类型。如果object当前的原型链中存在prototypeObject对象,则isPrototypeOf()方法返回true。原型链用于在同一个对象类型的不同实例之间共享功能。如果object不是对象,或者prototypeObject对象不出现在object的原型链中,则该方法返回false

示例&说明

function Site(){
	this.name = "CodePlayer";
	this.url = "https://codeplayer.vip/";

	this.sayHello = function(){
		document.writeln("欢迎来到" + this.name);
	};
}

var s =  new Site();
document.writeln( Site.prototype.isPrototypeOf(s) ); // true

var obj = {
	engine: "PHP"
	,sayHi: function(){
		document.writeln("欢迎访问" + this.url);
	}
};
// 使用对象obj覆盖Site本身的prototype属性
Site.prototype = obj;

var s2 =  new Site();
document.writeln( obj.isPrototypeOf(s2) ); // true

运行代码

  • CodePlayer技术交流群1
  • CodePlayer技术交流群2

0 条评论

撰写评论