Object.getPrototypeOf()

object.getPrototypeOf() 方法返回指定对象的原型(内部[[Prototype]]属性的值)。

实际应用

var proto = {};
var obj = Object.create(proto);
Object.getPrototypeOf(obj) === proto; // true
var reg = /a/;
Object.getPrototypeOf(reg) === RegExp.prototype; // true

注意

Object.getPrototypeOf(Object) 不是 Object.prototype

JavaScript 中的 Object 是构造函数(创建对象的包装器)。

一般用法是:

var obj = new Object();
Object.getPrototypeOf( Object );               // ƒ () { [native code] }
Object.getPrototypeOf( Function );             // ƒ () { [native code] }
Object.getPrototypeOf( Object ) === Function.prototype;        // true
// 是把Object这一构造函数看作对象,返回的当然是函数对象的原型,也就是 Function.prototype。

所以,Object.prototype 只是构造出来的对象的原型

var obj = new Object();
Object.prototype === Object.getPrototypeOf( obj );              // true
Object.prototype === Object.getPrototypeOf( {} );               // true

MIT Licensed | Copyright © 2018-present 滇ICP备16006294号

Design by Quanzaiyu | Power by VuePress