hotti: Objekte un Eigenschaften

hi,

da gibts ja 2 Möglichkeiten, einem Objekt ne Eigenschaft zuzuweisen

  
var hash = new Object();  
  
hash['name'] = 'Otto';  
hash.name = 'Otto';  
  
var x = hash.name;  
var y = hash['name'];  
  

Gibts da irgendwelche Kriterien, nach denen welche Schreibweise zu bevorzugen ist?

Bitte mal um Hinweise,
Horst Handschuh

--
Wenn der Kommentar nicht zum Code passt, kann auch der Code falsch sein.
  1. @@hotti:

    nuqneH

    Gibts da irgendwelche Kriterien, nach denen welche Schreibweise zu bevorzugen ist?

    Wenn nur eine von beiden möglich ist, dann ist diese zu bevorzugen.

    („Schema 4“)

    Qapla'

    --
    Volumen einer Pizza mit Radius z und Dicke a: pi z z a
    1. hi,

      („Schema 4“)

      oops da steht ja was, hatte ich überlesen...

      Danke,
      Hotti

    2. h1,

      Gibts da irgendwelche Kriterien, nach denen welche Schreibweise zu bevorzugen ist?

      Wenn nur eine von beiden möglich ist, dann ist diese zu bevorzugen.

      Ok, hab ich:

        
      var hash = new Object();  
        
      hash.name = 'Otto';  
      hash.vname = 'Hans';  
        
      for(var attr in hash){  
      	alert(hash[attr]);  
      }  
      
      

      => da geht also nur o.g. Variante.

      Danke und Gruss,
      Hotti

      1. Ok, hab ich:

        var hash = new Object();

        oder schöner bzw. moderner:

        var hash = {};

        hash.name = 'Otto';
        hash.vname = 'Hans';

        for(var attr in hash){
        alert(hash[attr]);
        }

        
        >   
        > => da geht also nur o.g. Variante.  
          
        Ja.  
          
        Struppi.
        
        1. oder schöner bzw. moderner:

          var hash = {};

          nene, lass mal
          var hash = new Object(); so stehen, da spar ich mir ne Kommentarzeile ;-)

          hash.name = 'Otto';
          hash.vname = 'Hans';

          for(var attr in hash){
          alert(hash[attr]);
          }
          [/code]

          => da geht also nur o.g. Variante.

          Ja.

          Für die Mitleser: in der for-Schleife geht nur
          hash[attr], nicht jedoch hash.attr (undefined)

          Hotti

          --
          Wenn Du am Abgrund stehst, schau nicht weg, sondern guck rein!
          1. oder schöner bzw. moderner:

            var hash = {};

            nene, lass mal
            var hash = new Object(); so stehen, da spar ich mir ne Kommentarzeile ;-)

            Da bin ich jetzt aber von dir mal wieder überrascht. das ist doch genau wie in Perl.

            Zumal du in deinem Blog das Wort unobtrusiv verwendest, klingt modern.

            Falls du dir diese ganzen Sachen nicht geläufig sind, dann sei dir dieser Artikel an's Herz gelegt: http://aktuell.de.selfhtml.org/artikel/javascript/organisation/

            Das ganze geht nämlich noch Perliger:

            var hash = {  
            name: 'Otto',  
            vname: 'Hans'  
            };  
            
            

            Die alte Methode mit new Irgendwas für ein Array oder Objekt verwendet keiner mehr. aber jetzt wundert es mich nicht mehr, dass du dich so gegen JSON wehrst, dir war nicht klar, dass das 1:1 die Schreibweise ist, mit der du in JS Objekte und Arrays erzeugst.

            Struppi.

            1. h1,

              Das ganze geht nämlich noch Perliger:

              var hash = {

              name: 'Otto',
              vname: 'Hans'
              };

                
              Auch klar ;-)  
                
              
              > ..aber jetzt wundert es mich nicht mehr, dass du dich so gegen JSON wehrst,  
                
              Moment, ich hab mich nicht gewehrt, ich gehe nur meinen eigenen Weg...  
                
              
              > dir war nicht klar, dass das 1:1 die Schreibweise ist, mit der du in JS Objekte und Arrays erzeugst.  
                
              ... das ist mir unterwegs klargeworden ;-)  
                
              Vielen Dank Struppi,  
              wir sollten uns mal kennenlernen,  
              vielleicht bin ich mal wieder in Mainz...  
                
              Hotti
              
              -- 
              Wenn der Code wie ein Kommentar aussieht, kannst Du den Kommentar sparen.
              
            2. h1,

              Falls du dir diese ganzen Sachen nicht geläufig sind, dann sei dir dieser Artikel an's Herz gelegt: http://aktuell.de.selfhtml.org/artikel/javascript/organisation/

              Ausgezeichneter Artikel!! Und ein Beweis dafür, dass SELFHTML nicht tot ist!

              Jedoch überarbeitungsbedürftig, und zwar so, dass ein Webdesigner _zuerst_ in SELFHTML nachschaut, wenn er was Neues anfängt.

              Gerade in Sachen hash hab ich mir den Wolf gesucht und bin aus SELFHTML erst so nach und nach schlau geworden, nachdem ich erstmal in einer Sackgasse namens Array() gelandet bin. Hier muss in der Doku unbedingt gesichert werden, dass ein Bezug zur Aktuellen Lage da ist, zu deutsch: wenigstens ein Link auf neue Artikel im gleichen Namespace, also Handlungsbedarf Leute!

              Ich hätte das jetzt in den anderen Fred schreiben können, aber das passt auch hier.

              Hotti

              --
              <http://rolfrost.de/cgi-bin/alib.cgi@Datenstruktur in AjaxResponse>
          2. Hi,

            for(var attr in hash){
            alert(hash[attr]);

            Für die Mitleser: in der for-Schleife geht nur
            hash[attr], nicht jedoch hash.attr (undefined)

            Natürlich, denn hash.attr würde ja auf eine Eigenschaft zugreifen, deren Bezeichner das Textliteral attr ist.

            MfG ChrisB

            --
            “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]