javascript - 为什么调用 getPrototype 方法会出错?

标签 javascript prototype

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

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

错误:对象不支持属性或方法“getPrototypeOf”

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

这是我的完整 html:

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

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

最佳答案

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

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

关于javascript - 为什么调用 getPrototype 方法会出错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19261060/

相关文章:

javascript - oop 行为类似于构造函数参数类型的类

javascript - 为什么本地存储的条件不起作用?

javascript - 尝试将工厂注入(inject)私有(private)函数中

javascript - 将 Onclick 事件转换为 Page Load 事件

javascript - 如何将文字包裹在图像中?

javascript - 用 sinon stub 一个原型(prototype)方法

javascript - 从通用到特定的原型(prototype)继承 - 更好的方法

javascript - 如何在持续单击一次的dom中进行更改

JavaScript:如何从原型(prototype)属性上的另一个函数调用原型(prototype)属性上的函数,所有这些都在闭包内?

javascript - "Extend"highcharts图表添加属性和功能,原型(prototype)