103 votes

Comment inspecter les Objets Javascript

Comment puis-je inspecter un Objet dans une boîte d'alerte? Normalement alertes un Objet juste jette la nodename:

alert(document);

Mais je veux obtenir les propriétés et méthodes de l'objet dans la boîte d'alerte. Comment puis-je obtenir cette fonctionnalité, si possible? Ou toute autre suggestion?

Je suis surtout à la recherche d'une solution pour un environnement de production où la console.journal ou Firebug n'est pas disponible.

194voto

noiv Points 1933

Que diriez - alert(JSON.stringify(object)) avec un navigateur moderne?

Dans le cas d' TypeError: Converting circular structure to JSON, voici plus d'options: Comment sérialiser des nœuds du DOM en JSON?

La documentation: JSON.stringify() fournit des informations sur le formatage ou prettifying la sortie.

58voto

Christian Points 12142

L' for-in boucles pour chaque propriété d'un objet ou d'un tableau. Vous pouvez utiliser cette propriété pour obtenir la valeur ainsi que de les modifier.

Remarque: les propriétés Privées ne sont pas disponibles pour l'inspection, à moins d'utiliser un "espion"; en gros, vous modifiez l'objet et écrire du code qui ne un pour-en boucle dans le contexte de l'objet.

Pour en ressemble:

for (var property in object) loop();

Un exemple de code:

function xinspect(o,i){
    if(typeof i=='undefined')i='';
    if(i.length>50)return '[MAX ITERATIONS]';
    var r=[];
    for(var p in o){
        var t=typeof o[p];
        r.push(i+'"'+p+'" ('+t+') => '+(t=='object' ? 'object:'+xinspect(o[p],i+'  ') : o[p]+''));
    }
    return r.join(i+'\n');
}

// example of use:
alert(xinspect(document));

Edit: il y a Quelques temps, j'ai écrit ma propre inspecteur, si vous êtes intéressé, je suis heureux de partager.

Edit 2: Bon, j'ai écrit un de toute façon.

39voto

Ranjeet Points 163

Utilisation de la console.dir(objet) et le plugin Firebug

19voto

brotherol Points 61

Il existe quelques méthodes :

 1. typeof tells you which one of the 6 javascript types is the object. 
 2. instanceof tells you if the object is an instance of another object.
 3. List properties with for(var k in obj)
 4. Object.getOwnPropertyNames( anObjectToInspect ) 
 5. Object.getPrototypeOf( anObject )
 6. anObject.hasOwnProperty(aProperty) 

Dans une console contexte, parfois la .le constructeur ou l' .prototype peut-être utile:

console.log(anObject.constructor ); 
console.log(anObject.prototype ) ; 

17voto

Richard Torcato Points 223

Utilisez votre console:

console.log(object);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X