Почему определенные вызовы функций в JavaScript называются «незаконными вызовами»?

Например, если я сделаю это:

var q = document.querySelectorAll;

q('body');

Я получаю "Незаконный вызов" ошибка в Chrome. Я не могу думать ни о какой причине, почему это необходимо. Во-первых, это не относится ко всем функциям собственного кода. На самом деле я могу сделать это:

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

var x = new o();

И все работает просто отлично. В частности, я обнаружил эту проблему при работе с документом и консолью. Какие-нибудь мысли?

Ответы на вопрос(3)

Ваш ответ на вопрос