1

すべてのオブジェクトが最終的に最高レベルのオブジェクトから継承し、その最高レベルのオブジェクトに getPrototypeOf() 関数/メソッドがある場合、次のコードでエラーが発生するのはなぜですか?

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

エラー: オブジェクトはプロパティまたはメソッド 'getPrototypeOf' をサポートしていません

IE10 (F12 開発者ツール) の [ローカル] タブを見ると、obj にはプロトタイプがあり、そのプロトタイプにはメソッドがあり、そのうちの 1 つが isPrototypeOf であると表示されています。

ここに私の完全なhtmlがあります:

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

注意: obj のプロトタイプの下にメソッドとして表示されるのに、エラーが発生する理由を具体的に尋ねています (継承されたプロトタイプではなく、Object のメソッドのみであると想定されている場合)。スクリーンショットを投稿したいのですが、初心者なので評判が低すぎます。

4

3 に答える 3

2

getPrototypeOfObjectオブジェクトのインスタンスではなくオブジェクト上にある場合は、試してください

obj = {};
proto = Object.getPrototypeOf(obj);
于 2013-10-09T00:45:02.840 に答える
0

これgetPrototypeOfは、すべてのオブジェクトのメソッドではなく、...Objectオブジェクトのメソッドであるためです。を使用しObject.getPrototypeOf(obj)ます。

于 2013-10-09T00:45:10.800 に答える
0

試す

obj = {};
proto = Object.getPrototypeOf(obj)
于 2013-10-09T00:45:50.830 に答える