Не проверял в других браузерах, но в Хроме нельзя использовать console.log как обычную функцию:
1.
x = console.log; // function log() { [native code] }
x('blah'); //TypeError: Illegal invocation
2.
x = function(logger,arg){logger(arg)}
x(console.log, 5); //TypeError: Illegal invocation
3.
console.log.apply(window,[1,2,3]); //TypeError: Illegal invocation
Особенно последнее очень неприятно, когда хочешь сделать логгер:
log = function(){
console.log.apply(window,arguments);
}
Почему так?