Korrekte Prototypenkette für Funktion

Was ist die richtige Ausgabe (dh gemäß ECMA-Standard korrekt) des folgenden Programms?

function nl(x) { document.write(x + "<br>"); }
nl(Function.prototype);
nl(Function.prototype.prototype);
nl(Function.prototype.prototype == Object.prototype);
nl(Function.prototype.prototype.prototype);

Chrome und IE6 stimmen darin überein:

function Empty() {}
null for Chrome / undefined for IE6
false

nd stürzt dann a

Mozilla-Ausgaben:

function () { }
[object Object]
false
undefined

Sind beide richtig? Es scheint, dass der Mozilla besser abschneidet, aber die beste Ausgabe ist

function () { }
[object Object]
true
undefined

Antworten auf die Frage(8)

Ihre Antwort auf die Frage