Heim >Web-Frontend >js-Tutorial >Warum ist console.log in Internet Explorer 9 nur verfügbar, wenn Entwicklertools geöffnet sind?
Console.log in Internet Explorer 9: Zugänglichkeit und Implementierung
Internet Explorer 9 führt Unterstützung für die Funktion console.log ein, aber deren Verfügbarkeit ist von bestimmten Bedingungen abhängig.
Verfügbarkeit von window.console.log
Die Funktion window.console.log ist in Internet Explorer 9 nur definiert, wenn das Entwicklertoolsfenster geöffnet ist ist für die aktuelle Registerkarte aktiv. Das bedeutet:
Fehlen von console.log.apply und console.log.call
Window.console.log ist zwar in Internet Explorer 9 definiert, seine Apply- und Call-Methoden jedoch nicht. Dies liegt daran, dass das Konsolenobjekt in IE9 nicht vollständig standardisiert ist und als Erweiterung des Document Object Model (DOM) betrachtet wird. Als Hostobjekt muss das Konsolenobjekt im Gegensatz zu nativen ECMAScript-Objekten keine Methoden von Object oder Function erben.
Methodenaufruf mit bind()
Trotzdem Da es weder apply noch call gibt, ist es weiterhin möglich, Function.prototype-Methoden für Konsolenmethoden zu verwenden. Dies kann mit der bind()-Methode erreicht werden:
var log = Function.prototype.bind.call(console.log, console); log.apply(console, ["this", "is", "a", "test"]); // outputs "thisisatest"
Das obige ist der detaillierte Inhalt vonWarum ist console.log in Internet Explorer 9 nur verfügbar, wenn Entwicklertools geöffnet sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!