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

Why does the getPrototype method call result in an error?

本文关键字:错误 调用 getPrototype 方法 为什么      更新时间:2023-09-26

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

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

错误:对象不支持属性或方法"getPrototypeOf">

当我查看IE10(F12开发人员工具(的Locals选项卡时,它说obj有一个原型,并且该原型具有方法,其中之一是PrototypeOf。

这是我的完整 html:

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

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

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

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

这是因为getPrototypeOf不是所有对象的方法,而是... Object对象。使用 Object.getPrototypeOf(obj) .

试试

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