В Internet Explorer 9 (і 8) console
об'єкт відкривається лише тоді, коли інструменти для розробників відкриті для певної вкладки. Якщо приховати вікно інструментів розробника для цієї вкладки, console
об’єкт залишатиметься відкритим для кожної сторінки, на якій ви переходите. Якщо ви відкриєте нову вкладку, ви також повинні відкрити інструменти для розробників для цієї вкладки, щоб console
об’єкт був відкритий.
console
Об'єкт не є частиною будь-якого стандарту і є продовженням до моделі об'єкта документа. Як і інші об'єкти DOM, він вважається об'єктом хосту і від нього не потрібно успадковувати Object
, ані його методи Function
, як це роблять нативні функції ECMAScript та об'єкти. Це є причиною apply
і call
не визначено цих методів. У IE 9 більшість DOM-об'єктів було вдосконалено для успадкування від нативних типів ECMAScript. Оскільки інструменти для розробників вважаються розширенням IE (хоч і вбудованим розширенням), вони, очевидно, не отримали таких самих удосконалень, як решта DOM.
Для чого це все-таки, ви можете використовувати деякі Function.prototype
методи щодо console
методів з невеликою bind()
магією:
var log = Function.prototype.bind.call(console.log, console);
log.apply(console, ["this", "is", "a", "test"]);
//-> "thisisatest"