Maison >interface Web >js tutoriel >Window.console.log.apply et window.console.log.call sont-ils définis dans IE9 ?
Console.log d'IE9 : disponibilité et fonctionnalité
La prise en charge par Internet Explorer 9 de window.console.log est un sujet qui soulève souvent des questions. Cet article examine les circonstances dans lesquelles window.console.log est accessible et explore les incohérences spécifiques avec window.console.log.apply et window.console.log.call.
Quand est window.console .log Défini dans IE9 ?
Dans Internet Explorer 9 (et 8), l'objet console apparaît uniquement lorsque les outils de développement sont activés pour un onglet particulier. La fermeture de la fenêtre Outils de développement dans cet onglet conserve l'accès à l'objet console pour les pages suivantes. Cependant, l'ouverture d'un nouvel onglet nécessite l'activation manuelle des outils de développement pour exposer l'objet console.
window.console.log.apply et window.console.log.call non définis
L'objet console dans IE9 ne fait partie d'aucun standard établi et est considéré comme une extension du DOM. Contrairement aux fonctions et objets ECMAScript natifs, l'objet console n'est pas intrinsèquement connecté au prototype Object ou à ses méthodes, telles que Function.apply et Function.call. Cette distinction explique pourquoi ces méthodes ne sont pas définies pour les fonctions d'objet console dans IE9.
Autres implémentations de navigateur
Dans les versions ultérieures d'Internet Explorer, la plupart des objets DOM héritent de l'ECMAScript natif types, améliorant leur fonctionnalité. Cependant, comme les outils de développement sont une extension d'IE, ils n'ont pas bénéficié de ces améliorations, ce qui a entraîné l'absence continue de méthodes d'application et d'appel pour les fonctions d'objet de console.
Utilisation des méthodes de fonction avec un objet de console. Functions
Bien que window.console.log.apply et window.console.log.call ne soient pas directement accessibles dans IE9, il est toujours possible d'employer les méthodes Function.prototype via la fonction bind() :
var log = Function.prototype.bind.call(console.log, console); log.apply(console, ["this", "is", "a", "test"]); //-> "thisisatest"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!