Griever: Variablenbezeichnung herausfinden

Hi.

Ich machs kurz.

Ich habe:

function Menue() {
  this.a = 0
  this.b = new Object()
  this.b.a = 0
  this.b.b = 2
  this.b.c = 2
}

var Items = new Menue()
function outputall(z) {
for(var i in z)
{
  if(z[i] == "[object Object]")
  outputall(z[i])
  else
  {
  document.write(z+"."+i+" - ")
  document.write(z[i]+"<br>")
  }
}
}
outputall(Items)

und ich möchte, dass outputall den Variablennamen Item herausfindet. Also dynamisch. Sodass, wenn ich jetzt eine andere Variable übergebe, er mir auch diesen Namen ausgeben kann, ohne dass ich der Funktion den Namen sagen muss.

Bitte um hilfe.

MFG
Griever

  1. Hi,

    Ich machs kurz.

    ich auch.

    if(z[i] == "[object Object]")

    Nutze typeof().

    und ich möchte, dass outputall den Variablennamen Item herausfindet.

    Übergib ihn als optionalen Parameter.

    Also dynamisch. Sodass, wenn ich jetzt eine andere Variable übergebe, er mir auch diesen Namen ausgeben kann, ohne dass ich der Funktion den Namen sagen muss.

    Mir ist nicht bekannt, dass man bei einer Referenz auf ein Objekt den Namen einer anderen eventuell vorhandenen Referenz auf das Objekt erfahren könnte.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hi again,

      Ich machs kurz.
      ich auch.

      sogar zu kurz ...

      if(z[i] == "[object Object]")
      Nutze typeof().

      Oder Prototyping. Unter Beröcksächtägung der höheren Lähranst... äh, der partiellen Unfähigkeit des IE, versteht sich.

      Cheatah

      --
      X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
      X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
      X-Will-Answer-Email: No
      X-Please-Search-Archive-First: Absolutely Yes
  2. Hi,

    if(z[i] == "[object Object]")

    besser typeof z[i] == ...

    und ich möchte, dass outputall den Variablennamen Item herausfindet.

    js kann das afaik nicht. Ggf so:
    var item = new xyz('item');

    function xyz (varname) {
        this.varname =  varname;
    }

    Gruesse, Joachim

    --
    Am Ende wird alles gut.