[JAVASCRIPT] – Explorer & manipuler les objets !

Salut à tous bandes de vielles branches !

 

Fin de semaine ... allez les gars ! C'est bientôt le Week End, mais surtout ... (pour certains bien sûr) ... bientôt les ...

VACANCES !!!

ça sera calme sur Dyrk ...
Car comme tous le monde parfois je me repose ;)

Alors bon pour vous occuper un peu

bande de fainéants !

Je vous sert sur un plateau d'argent  une petite fonction qui va vous permettra d'analyser un peu vos objets, leurs propriétés, ainsi que leurs méthodes ....

Capture

 

Hop Hop Hop, une fonction touet simple, qui vous affiche dans la console, toutes les informations possibles à afficher !

En quoi est-ce utile ...

Et bien pour les développeurs je dirais que c'est pratique pour faire du Debug ...

Pour les Hackers, c'est pas mal, pour auditer et découvrir de nouvelles fonctions à exploiter ...

 

DisassObj = function(obj,parent) {
		if (! parent) parent = "."
		this.data        = {};
		this.recursivity    = 0;
		this.maxRecursivity = 999;
		this.setMaxRecursivity = function (max){
			this.maxRecursivity = max;
		}
		this.Disassemble      = function (objtmp){
			if (this.recursivity > this.maxRecursivity) return 0;
			++this.recursivity;
			for (i in objtmp){
				test = (! this.data[i] || (this.data[i] && this.data[i] == JSON.stringify(objtmp[i])))?true:false;
				if (typeof objtmp[i] === 'object' ){
					 this.Disassemble(objtmp[i], i);
					 continue;
				}
				else if (test && typeof objtmp[i] === 'function'){
					this.data[i] = objtmp[i].toString().replace('\n',"\n").replace('\t',"\t");
				}
				else if (test)
					this.data[i] = JSON.stringify(objtmp[i]).replace('\n',"\n").replace('\t',"\t");
				if (test) console.log(parent + " > "+i+" =>   =>  => "+this.data[i]);
				
			}
		}
}

 

On repose ici sur un fonctionnement plutôt simple ...

Pour l'exploiter ...
Il suffit simplement de faire :

 

// J'initialise l'objet
test = new DisassObj();

// Je configure le niveau de profondeur
test.setMaxRecursivity(50);

//Et hop je lance l'exploration de "MonObjet"
test.Disassemble(MonObjet);

 

Petite démo d'une exploration de l'objet "DisassObj que je vous offre !

test.Disassemble(new DisassObj());

 

Capture

 

 

Bref ça peut s'avérer extrêmement utile pour découvrir de nouvelles fonctions (L'objet window par exemple ;) )

 

[ATTENTION] 

Il est préférable de définir un niveau de récursivité ...
Certains objets sont immenses ...

Partagez ce contenu

Laisser une réponse

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *