Почему определенные вызовы функций в JavaScript называются «незаконными вызовами»?
Например, если я сделаю это:
var q = document.querySelectorAll;
q('body');
Я получаю "Незаконный вызов" ошибка в Chrome. Я не могу думать ни о какой причине, почему это необходимо. Во-первых, это не относится ко всем функциям собственного кода. На самом деле я могу сделать это:
var o = Object; // which is a native code function
var x = new o();
И все работает просто отлично. В частности, я обнаружил эту проблему при работе с документом и консолью. Какие-нибудь мысли?