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