Warum kann ich nicht direkt auf document.createElement verweisen?

Beim Erstellen vieler DOM-Elemente können document.createElement und Freunde viele Bytes und Hässlichkeiten hinzufügen. Ich weiß, dass ich mein eigenes Unterprogramm erstellen oder innerHTML oder was auch immer verwenden könnte, aber warum kann ich das nicht einfach tun:

var $c = document.createElement;
var newP = $c('p');

Firebug beschwert sich mit dieser Nachricht:

"Illegal operation on WrappedNative prototype object" nsresult: "0x8057000c (NS_ERROR_XPC_BAD_OP_ON_WN_PROTO)"

Clearly Ich habe etwas getan, das nicht erlaubt ist. Warum ist es nicht? Es ist für andere Dinge erlaubt, z.B. Array.splice oder Math.min.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage