xasz: verschachtelte Objekte

Hallo Leute,

ich habe ein kleines Problem mit JS,

ich bin gerade eigentlich nur ein bisschen am rumtesten und habe  heute folgendes gelernt, dass man Objekte einfach "so" deklarieren kann um sie z.B. Funktionen übergeben kann.

  
function takeObject(obj){  
alert(obj.text + obj.text1);  
}  
  
takeObject({  
text: "Hallo ",  
text1: "Welt!"  
});  

das geht prinzpiell ohne Probleme.

Ich würde aber gerne noch einen Schritt weiter und ein Object im soeben generierten object generien.

Beispiel wie ich es mir vorstelle, Beispiel funktioniert nicht!

  
function takeObject(obj){  
alert(obj.texter.text + obj.texter1.text);  
}  
  
takeObject({  
texter:{  
text: "Hallo ",  
},  
texter1:{  
text: "Werlt"",  
}  
});  

Geht sowas überhaupt nicht oder mache ich einfach etwas falsch.

  1. Hi,

    ich bin gerade eigentlich nur ein bisschen am rumtesten und habe  heute folgendes gelernt, dass man Objekte einfach "so" deklarieren kann um sie z.B. Funktionen übergeben kann.

    takeObject({

    text: "Hallo ",
    text1: "Welt!"
    });

      
    Die runden Klammern kannst du weglassen, die sind überflüssig.  
      
    
    > Beispiel wie ich es mir vorstelle, Beispiel funktioniert nicht!  
      
    
    > ~~~javascript
    
    takeObject({  
    
    > texter:{  
    > text: "Hallo ",  
    > },  
    > texter1:{  
    > text: "Werlt"",  
    > }  
    > });
    
    

    Das geht auch, sobald du erst mal den Syntaxfehler beseitigst - die doppelten Anführungszeichen beim zweiten Wert.

    Und das jeweils letzte Komma in den Auflistungen ist zwar syntaktisch nicht falsch, macht aber m.W. im IE Probleme - die also besser auch weglassen.

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
    1. Hi,

      takeObject({

      text: "Hallo ",
      text1: "Welt!"
      });

      
      > Die runden Klammern kannst du weglassen, die sind überflüssig.  
        
      einer von uns beiden steht gerade auf dem Schlauch. Kannst Du bitte den Betreffenden identifizieren und eine Vomschlauchstellung durchführen?  
        
      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,

        einer von uns beiden steht gerade auf dem Schlauch.

        Hier, hier! Iiich!!1elf

        Kannst Du bitte den Betreffenden identifizieren und eine Vomschlauchstellung durchführen?

        Hatte übersehen, dass das direkt den Funktionsaufruf darstellte, dachte da legt er nur ein Objekt an.

        MfG ChrisB

        --
        RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
        1. Hi,

          Kannst Du bitte den Betreffenden identifizieren und eine Vomschlauchstellung durchführen?
          Hatte übersehen, dass das direkt den Funktionsaufruf darstellte, dachte da legt er nur ein Objekt an.

          ah, gut, ich hatte schon vermutet, mir wäre ein wichtiger Aspekt von JavaScript entgangen. Der Schlauch vom Quell des Wissens ist also wieder frei :-)

          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.       function takeObject(obj){  
              alert(obj.texter.text + obj.texter1.text);  
            }  
        
            takeObject({  
                texter:{  
                text: "Hallo "  
              },  
                texter1:{  
                text: "Werlt"  
              }  
            });
      

      OK, ich bin grad ein bisschen perblex.
      Danke für euere Hilfe, obiger Code funktioniert, dann liegt in meim richtigen Code der Fehler wohl an anderer Stelle.