Javascript 为什么getPrototype方法调用会导致错误?

Javascript 为什么getPrototype方法调用会导致错误?,javascript,prototype,Javascript,Prototype,如果每个对象最终都从最高级别的对象继承,并且该最高级别的对象具有getPrototypeOf()函数/方法,那么为什么下面的代码会产生错误 obj = {}; proto = obj.getPrototypeOf(obj); 错误:对象不支持属性或方法“getPrototypeOf” 当我在IE10的(F12开发者工具)本地选项卡中查看时,它说obj有一个原型,原型有方法,其中一个是isPrototypeOf 以下是我的完整html: <!DOCTYPE html> <htm

如果每个对象最终都从最高级别的对象继承,并且该最高级别的对象具有getPrototypeOf()函数/方法,那么为什么下面的代码会产生错误

obj = {};
proto = obj.getPrototypeOf(obj);
错误:对象不支持属性或方法“getPrototypeOf”

当我在IE10的(F12开发者工具)本地选项卡中查看时,它说obj有一个原型,原型有方法,其中一个是isPrototypeOf

以下是我的完整html:

<!DOCTYPE html>
<html>
<head>
<script>
obj = {};
proto = obj.getPrototypeOf(obj);
</script>
</head>
<body>
</body>
</html>

obj={};
proto=obj.getPrototypeOf(obj);

请注意:我特别想问的是,为什么它显示为obj原型下的一个方法,但却产生了一个错误(如果假定它只是Object的一个方法,而不是继承的原型)?我会发布它的屏幕截图,但我的声誉太低,因为我是新来的。

getPrototypeOf
对象上,而不是对象的实例上,请尝试

obj = {};
proto = Object.getPrototypeOf(obj);

这是因为
getPrototypeOf
不是所有对象上的一个方法,而是一个<代码>对象
对象。使用
Object.getPrototypeOf(obj)

试试看

obj = {};
proto = Object.getPrototypeOf(obj)

检查文档:我做了。这对我回答这个问题没有帮助。(或者我没看到)你说的是
isPrototypeOf
?相对于
getPrototypeOf
,isPrototypeOf属于Object.prototype,因此所有对象都继承该方法。getPrototypeOf仅属于对象构造函数对象。抱歉!我现在看到了。我引用的是getPrototypeOf,但我看到的是isPrototypeOf。你是对的。谢谢。但是为什么这个方法会出现在obj的原型下?这是在哪里发生的?IE10 F12开发者界面在脚本选项卡下,然后是本地选项卡(当我展开obj的+符号时)。