📅  最后修改于: 2023-12-03 15:01:38.357000             🧑  作者: Mango
JavaScript 中的 Object.prototype.isPrototypeOf() 方法用于检查一个对象是否存在于另一个对象的原型链中。
obj.isPrototypeOf(object)
参数:
object
:必需。要检查的对象。返回值:
如果 obj 存在于 object 的原型链中,则返回 true
,否则返回 false
。
下面的示例演示了如何使用 Object.prototype.isPrototypeOf() 方法来检查一个对象是否存在于另一个对象的原型链中。
// 定义构造函数 Person
function Person(name) {
this.name = name;
}
// 创建一个对象 john,并将其原型设置为 Person
const john = new Person('John');
// 检查 john 是否存在于 Person 的原型链中
console.log(Person.prototype.isPrototypeOf(john)); // true
// 检查 Object 是否存在于 Person 的原型链中
console.log(Object.prototype.isPrototypeOf(john)); // true
// 创建一个普通对象
const obj = {};
// 检查 obj 是否存在于 Person 的原型链中
console.log(Person.prototype.isPrototypeOf(obj)); // false
// 检查 obj 是否存在于 Object 的原型链中
console.log(Object.prototype.isPrototypeOf(obj)); // true
在上面的示例中,首先定义了一个构造函数 Person,并创建了一个对象 john,并将其原型设置为 Person。然后,分别使用 Person.prototype.isPrototypeOf() 和 Object.prototype.isPrototypeOf() 方法检查 john 和一个普通对象 obj 是否存在于 Person 和 Object 的原型链中。
console.log(Object.prototype.isPrototypeOf(Array.prototype)); // true