"Que signifie?"
P粉358281574
P粉358281574 2023-08-17 10:48:39
0
2
953
<p>J'essaie de <code>alert</code> la valeur renvoyée par une fonction et j'obtiens ce qui suit dans la fenêtre contextuelle : </p> <pre class="brush:none;toolbar:false;">[objet Objet] ≪/pré> <p>Voici le code JavaScript : </p> <pre class="brush:html;toolbar:false;"><script type="text/javascript"> $(fonction () { var $main = $('#main'), $1 = $('#1'), $2 = $('#2'); $2.hide(); // Masquer le div#2 au chargement de la page $main.click(fonction () { $1.toggle(); $2.toggle(); }); $('#senddvd').cliquez(fonction () { alert('bonjour'); var a=quiEstVisible(); alert(whichIsVisible()); }); fonction whichIsVisible() { if (!$1.is(':hidden')) renvoie 1 $ ; if (!$2.is(':hidden')) renvoie 2 $ ; } }); </script> ≪/pré> <p><code> WhichIsVisible</code> est la fonction que j'essaie de vérifier. </p>
P粉358281574
P粉358281574

répondre à tous(2)
P粉458913655

Comme d'autres l'ont souligné, il s'agit de la sérialisation par défaut d'un objet. Mais pourquoi [object Object]而不只是[object] ?

C'est parce qu'il existe différents types d'objets en Javascript !

  • Objet fonction :
    stringify(function (){}) -> [object Function]
  • Objet tableau :
    stringify([]) -> [object Array]
  • Objet d'expression régulière :
    stringify(/x/) -> [object RegExp]
  • Objet Date :
    stringify(new Date) -> [object Date]
  • Et plus encore
  • Aussi objets objets !
    stringify({}) -> [object Object]

C'est parce que le constructeur est appelé Object (« O » majuscule), tandis que le terme « objet » (« o » minuscule) fait référence à la nature structurelle de l'objet.

Habituellement, lorsque vous parlez d'"objets" en Javascript, vous voulez en fait dire "objets objets", pas d'autres types.

stringify devrait être comme ceci :

function stringify (x) {
    console.log(Object.prototype.toString.call(x));
}

P粉465287592

Le résultat par défaut de la conversion d'un objet en chaîne est "[object Object]".

Puisque vous utilisez des objets jQuery, vous souhaiterez peut-être procéder comme suit

alert(whichIsVisible()[0].id);

Pour imprimer l'ID de l'élément.

Comme mentionné dans les commentaires, vous devez utiliser les outils inclus dans les navigateurs comme Firefox ou Chrome pour inspecter les objets au lieu d'utiliser alert,可以执行console.log(whichIsVisible()).

P.S. : l'identification ne doit pas commencer par un numéro.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal