Maison >interface Web >js tutoriel >Pourquoi JavaScript affiche-t-il « [object Object] » lors de la journalisation d'un objet ?
En JavaScript, vous pouvez rencontrer la chaîne "[object Object]" lorsque vous tentez d'alerter ou d'enregistrer la valeur de un objet. Cette chaîne représente la sérialisation par défaut d'un objet, fournissant des informations sur le type de l'objet.
Contrairement à certains langages de programmation, JavaScript a différents types d’objets. Chaque type est identifié par sa fonction constructeur. Les exemples suivants illustrent la sérialisation de différents types d'objets :
function stringify(x) { console.log(Object.prototype.toString.call(x)); } stringify(function () {}); // [object Function] stringify([]); // [object Array] stringify(/x/); // [object RegExp] stringify(new Date); // [object Date] stringify({}); // [object Object]
En JavaScript, le terme « objet » (minuscule) fait généralement référence à la nature structurelle d'une chose. Cependant, lorsqu'ils parlent spécifiquement d'« objets », les développeurs entendent généralement « Objets objet » (en majuscules). En effet, la fonction constructeur de ces objets s'appelle Object.
Dans le code fourni, la fonction whichIsVisible() renvoie un objet qui représente l'élément visible. Lorsque vous tentez d'alerter la valeur de retour, JavaScript sérialise l'objet en "[object Object]" car il s'agit d'un objet Object.
Pour afficher l'élément réel plutôt que la chaîne sérialisée, vous pouvez modifier la fonction pour renvoyer l'ID de l'élément à la place :
function whichIsVisible() { if (!.is(':hidden')) return .attr('id'); if (!.is(':hidden')) return .attr('id'); }
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!