Heim > Web-Frontend > js-Tutorial > Hauptteil

Sind window.console.log.apply und window.console.log.call in IE9 definiert?

Patricia Arquette
Freigeben: 2024-11-11 13:03:03
Original
632 Leute haben es durchsucht

Is window.console.log.apply and window.console.log.call Defined in IE9?

Console.log von IE9: Verfügbarkeit und Funktionalität

Die Unterstützung von window.console.log durch Internet Explorer 9 ist ein Thema, das oft Fragen aufwirft. Dieser Artikel befasst sich mit den Umständen, unter denen auf window.console.log zugegriffen werden kann, und untersucht spezifische Inkonsistenzen mit window.console.log.apply und window.console.log.call.

Wann ist window.console .log In IE9 definiert?

In Internet Explorer 9 (und 8) wird das Konsolenobjekt nur angezeigt, wenn die Entwicklertools für a aktiviert sind bestimmte Registerkarte. Wenn Sie das Fenster „Entwicklertools“ auf dieser Registerkarte schließen, bleibt der Zugriff auf das Konsolenobjekt für nachfolgende Seiten erhalten. Das Öffnen einer neuen Registerkarte erfordert jedoch die manuelle Aktivierung der Entwicklertools, um das Konsolenobjekt verfügbar zu machen.

Undefinierte window.console.log.apply und window.console.log.call

Das Konsolenobjekt im IE9 ist kein Teil eines etablierten Standards und gilt als Erweiterung des DOM. Im Gegensatz zu nativen ECMAScript-Funktionen und -Objekten ist das Konsolenobjekt nicht von Natur aus mit dem Objektprototyp oder seinen Methoden wie Function.apply und Function.call verbunden. Diese Unterscheidung erklärt, warum diese Methoden für Konsolenobjektfunktionen in IE9 nicht definiert sind.

Andere Browser-Implementierungen

In späteren Versionen von Internet Explorer erben die meisten DOM-Objekte vom nativen ECMAScript Typen, wodurch ihre Funktionalität verbessert wird. Da es sich bei den Entwicklertools jedoch um eine Erweiterung des IE handelt, profitierten sie nicht von diesen Verbesserungen, was dazu führte, dass weiterhin keine Apply- und Call-Methoden für Konsolenobjektfunktionen vorhanden sind.

Funktionsmethoden mit Konsolenobjekten verwenden Funktionen

Obwohl window.console.log.apply und window.console.log.call in IE9 nicht direkt zugänglich sind, ist es dennoch möglich, sie zu verwenden Function.prototype-Methoden über die Funktion bind():

var log = Function.prototype.bind.call(console.log, console);
log.apply(console, ["this", "is", "a", "test"]);
//-> "thisisatest"
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSind window.console.log.apply und window.console.log.call in IE9 definiert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage