如果每个对象最终都继承自最高级别的对象,并且最高级别的对象具有 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))?我会发布它的屏幕截图,但我的声誉太低了,因为我是新手。
最佳答案
getPrototypeOf
在 Object
对象上,而不是在对象的实例上,试试
obj = {};
proto = Object.getPrototypeOf(obj);
关于javascript - 为什么调用 getPrototype 方法会出错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19261060/