Maison > interface Web > js tutoriel > Pourquoi JavaScript affiche-t-il « [object Object] » lors de la journalisation d'un objet ?

Pourquoi JavaScript affiche-t-il « [object Object] » lors de la journalisation d'un objet ?

DDD
Libérer: 2024-12-13 18:53:12
original
569 Les gens l'ont consulté

Why Does JavaScript Display

Comprendre "[object Object]" en JavaScript

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.

Pourquoi "[object Object]" au lieu de "[object]" ?

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]
Copier après la connexion

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.

Renvoi d'un objet à partir d'une fonction

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');
}
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal