Warum werden bestimmte Funktionsaufrufe in JavaScript als "illegale Aufrufe" bezeichnet?

Zum Beispiel, wenn ich das mache:

var q = document.querySelectorAll;

q('body');

In Chrome wird der Fehler "Ungültiger Aufruf" angezeigt. Ich kann mir keinen Grund vorstellen, warum dies notwendig ist. Zum einen ist dies nicht bei allen nativen Codefunktionen der Fall. Tatsächlich kann ich das tun:

var o = Object; // which is a native code function

var x = new o();

Und alles funktioniert gut. Insbesondere habe ich dieses Problem beim Umgang mit Dokumenten und Konsolen entdeckt. Irgendwelche Gedanken?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage