これは私を非常に混乱させます、そしてここに私の単純なhtmlファイルがあります:
<html>
<head>
</head>
<body>
<div id="misc">Test</div>
</body>
</html>
Firebugコンソールの場合:次のスクリプトがあります:
var c = document.documentElement.childNodes[2].childNodes[3];
alert(c.id); //Return misc
alert(c.constructor); // Return [object HTMLDivElement]
私の知る限り、関数のコンストラクターは関数です(これもオブジェクトですが、ここではその関数オブジェクトについては説明していません)。これで、cのコンストラクターはオブジェクトになり、c'コンストラクターコンストラクター(c.constructor.constructor)に問い合わせると、次のような「実際の」関数が返されます。
function Object() {
[native code]
}
c.constructorがオブジェクト([object HTMLDivElement])である理由がわかりません。期待どおりの関数である必要があります。これを理解するのを手伝ってくれませんか。ありがとうございました!