11548 sujets

JavaScript, DOM et API Web HTML5

Salut,
Afin de faire une "classe" de "debugging" en Javascript, j'aimerais pouvoir récupérérer le nom de l'objet ainsi que le nom de la fonction où la fonction de debugging est appelée...
Je m'explique:
function MonObjet()
{
  this.maMethode = maMethode;
  
  function maMethode()
  {
    var debug = new Debugger();
    debug.catchError(nom_classe.fonction, erreur);
  }
}

Voici un petit exemple ainsi j'aimerais savoir comment obtenir ce nom_classe.fonction sans l'écrire "à la main" afin que ma méthode catchError me crée un méssage du type:
a écrit :
In nom_classe.fonction : l'erreur


Une autre question du même goût, dans var objet = new MonObjet(); par exemple, est-il possible de savoir quelle variable contient l'objet afin de faire la différence avec un var objet2 = new MonObjet(); ?
QuentinC a écrit :
Pour lister les propriétés d'un objet, voir les boucles for...in.

Humm oui, je pense que je vais opter pour une propriété qui contient le nom de la classe et une autre pour qui sera un tableau listant toutes les proprités de la classe...
function MonObjet()
{
  this.maMethode = maMethode;
  this.name = "MonObjet";
  this.properties = new Array();
  for (var i in this) this.properties.push(i);

  function maMethode()
  {
    var debug = new Debugger();
    debug.catchError(nom_classe.fonction, erreur);
  }
}


Cependant ça me parrait lourd à mettre dans chaque classe Smiley confus
Modifié par Spack (22 Mar 2006 - 03:47)
Oui, mais ça me semble être la méthode la plus sûre.
Par contre, tu peux connaître quelle est la fonction qui a appelé la fonction en cours, grâce à la propriété caller, si ça peut t'aider.

Ensuite, essaie de lister les propriétés de ta fonction, il y a peut-être une propriété name qui contient le nom de la fontion où je ne sais quoi ... comme ça rapidement, je ne connais pas les propriétés d'un objet Function. Je pense que ça doit exister.