如果每个对象最终都继承自最高级别的对象,并且该最高级别的对象具有getPrototypeOf()函数/方法,那么为什么下面的代码会产生错误?
obj = {};
proto = obj.getPrototypeOf(obj);错误:对象不支持属性或方法“getPrototypeOf”
当我查看IE10 (F12 developer tools) Locals选项卡时,它说obj有一个原型,该原型有方法,其中一个是isPrototypeOf。
以下是我的完整html:
<!DOCTYPE html>
<html>
<head>
<script>
obj = {};
proto = obj.getPrototypeOf(obj);
</script>
</head>
<body>
</body>
</html>请注意:我专门问为什么它在obj原型下显示为一个方法,但是会产生一个错误(假设它只是对象的方法,而不是继承的原型)?我会发布它的截图,但我的声誉太低,因为我是新来的。
发布于 2013-10-09 00:45:02
getPrototypeOf位于Object对象上,而不是对象的实例上,请尝试
obj = {};
proto = Object.getPrototypeOf(obj);发布于 2013-10-09 00:45:10
这是因为getPrototypeOf不是所有对象上的方法,而是.Object对象使用Object.getPrototypeOf(obj)。
发布于 2013-10-09 00:45:50
试一试
obj = {};
proto = Object.getPrototypeOf(obj)https://stackoverflow.com/questions/19261060
复制相似问题