Struppi: was bewirkt {}

Beitrag lesen

var x = new Object();

ist aber gleichzeitig JS Form eines assoziativen Arrays!

x={a:1};
x.a == 1;

Vielleicht sollte man im Rahmen der Diskussion etwas weiter ausholen.

Einige die hier mit JS zu tun haben, haben damit vor langer Zeit angefangen, ich persönlich seit Netscape 3 (da ist mir auch das erste mal Cheatah begegnet und ich weiß das auch Cybaer mindestens so lange damit arbeitet). Der konnte weder die literale Schreibweise und erst recht gab es damals nicht hasOwnProperty und ich bin noch nicht mal sicher, dass es prototype zu der Zeit schon gab. Oder, um die Schwierigkeit mit deiner Lösung aufzuzeigen, selbst for in gibt es erst seit dem IE 5, wenn ich MSDN richtig deute (MDC sagt was anderes). Das heißt, es ist noch gar nicht solange möglich ein Objekt als assoziatives Array zu nutzen. Als eine einfache hash-table sehr wohl, aber mit der Schwierigkeit, dass es nicht möglich war über die Attribute zu iterieren.

Da die Browser offensichtlich grosse Sprünge gemacht haben, um solche programmiertechnische Probleme zu überwinden, scheint es so, als ob die Verwendung eines Objektes als AA nicht mehr viel im Wege steht.

Die gleiche Entwicklung kannst du auch verfolgen wenn es um die Verwendung von innerHTML geht, dass am Anfang sehr verpöhnt war, da es von M$ kam und auch nur von wenigen Browsern überhaupt umgesetzt wurde (wobei innerHTML durchaus Probleme machen kann, aber das ist ein anderes Kapitel) oder eben auch, wie du schon angemerkt hast beim with() das auf einmal nicht mehr verwendet werden sollte (was sich wieder geändert hat)

D.h. du kannst mit deinen Kenntnissen über die momentanen Möglichkeiten von JS durchaus zu dieser Aussage kommen, wirst aber keine Zustimmung von Leuten bekommen, die noch gewohnt sind abwärtskompatibel zu denken und/oder zu programmieren. Das spiegelt also lediglich den aktuellen Erfahrungshorizont wieder und wird sich ändern. Ich bin mir zwar nicht sicher, ob du mit der Aussage ein Objekt ist ein assoziatives Array richtig liegst, da ich keine offzielle Erklärung kenne und du wikiedia nicht akzeptierst. Das dürfte aber keine Rolle spielen, denn für die einen, die noch die Erfahrung der unbedingten Abwärtskompatiblität und die Langsamkeit der Entwicklung haben, ist es in der momentanen Phase kein AA und für dich ist es eines, da für dich hasOwnProperty selbstverständlich ist, während ich mir das noch nicht mal angeschaut hatte.

Genau genommen hatte ich mir die Seite auf dem MDC noch gar nicht angeschaut, denn alle 2-3 Jahre gab es bisher eine grosse Entwicklung, die dazu führt das man sich ellenlange, meist englisch sprachige Seiten, durchlesen müßte, wovon dann aber nur ein Bruchteil der neuen Dinge praktisch nutzbar ist, weil es nur ein geringer Teil der Browser umsetzt. D.h. man ist möglichst behutsam bei neuen Features und verfolgt Diskussionen, wie z.b. hier.

Ich halte das für eine normale Sache, dass man sich über techn. Entwicklungen und deren praktische Bedeutung mit anderen auseinandersetzt und davon lernt. Gerade diese Diskussion hier, habe ich schon Dutzendfach verfolgt und mitgemacht. Und jedesmal dabei etwas neues gelernt. So wie auch diesmal. Ich finde es zwar seltsam, dass es dabei oft sehr schnell polemischen wird, aber das gehört wohl zu technischen Diskussionen dazu, gerade wenn es um Dinge geht, die nicht wirklich geklärt sind (wie gesagt die offzielle Definition für AAs fehlt noch). Aber alles in allem gab es mal wieder eine fruchtbare Diskussion, die zwar von ein paar Entgleisungen begleitet war, aber gerade an sowas sieht man wo es noch Erklärungsbedarf gibt, was gerade für selfhtml eine nützlich Sache für die zukünftige Dokumentation ist.

So! wir haben alle was gelernt :-)

Struppi.

0 139

was bewirkt {}

Ric
  • javascript
  1. 0
    Don P
  2. 0
    KurtZ
    1. 0
      Don P
      1. 0
        KurtZ
        1. 0
          Don P
          1. 0
            KurtZ
            1. 0
              Don P
              1. 0
                KurtZ
                1. 0
                  Cheatah
                  1. 0
                    KurtZ
                    1. 0
                      Don P
                      1. 0
                        KurtZ
                        1. 0
                          Siechfred
                    2. 0
                      Cheatah
        2. 0
          Don P
          1. 0
            KurtZ
            1. 0
              Don P
              1. 0
                KurtZ
    2. 0
      Cheatah
      1. 0
        KurtZ
        1. 0
          Siechfred
          1. 0
            KurtZ
            1. 0
              Cheatah
              1. 0
                KurtZ
                1. 1
                  Siechfred
                  1. 0
                    KurtZ
                    1. 0
                      Siechfred
                      1. 0
                        KurtZ
                        1. 0
                          Don P
                      2. 0
                        Siechfred
                      3. 2
                        Daniel Thoma
                        1. 0
                          KurtZ
                        2. 0
                          Siechfred
                          1. 0
                            Daniel Thoma
                            1. 0
                              Struppi
      2. 0

        "Herrje" Cheatah

        KurtZ
        1. 0
          Don P
          1. 0
            KurtZ
            1. 1
              Don P
              1. 0
                KurtZ
                1. 0
                  Don P
                  1. 0
                    KurtZ
        2. 0
          Siechfred
          1. 0
            KurtZ
            1. 0
              KurtZ
              1. 0
                Christoph
                1. 0
                  KurtZ
                  1. 0
                    Christoph
                    1. 0
                      LanX
                      1. 0
                        LanX
                        1. 0
                          Don P
                          1. 0
                            KurtZ
                            1. 0
                              Don P
                      2. 0
                        molily
                        1. 0
                          Christoph
                          1. 0
                            KurtZ
                            1. 0
                              Struppi
                            2. 0
                              Struppi
                            3. 0
                              Christoph
                              1. 0
                                Don P
                              2. 0
                                molily
                                1. 0
                                  molily
                              3. 0

                                "Herrje" Christoph

                                KurtZ
                                1. 0
                                  KurtZ
                                  1. 0
                                    Christoph
                                    1. 0
                                      KurtZ
                                      1. 0
                                        molily
                          2. 0
                            LanX²
                        2. 0
                          LanX²
                          1. 0
                            molily
                            1. 0
                              LanX²
                              1. 0
                                molily
                                1. 0
                                  KurtZ
                                  1. 0
                                    molily
                                    1. 0
                                      KurtZ
                              2. 0
                                KurtZ
                                1. 0
                                  LanX²
                    2. 0
                      molily
                      1. 0
                        LanX
                        1. 0
                          molily
                      2. 0
                        Christoph
            2. 0
              Siechfred
              1. 1

                Lieber SIechfred!

                KurtZ
                1. 0
                  Struppi
                  1. 0
                    Don P
                  2. 0
                    KurtZ
                    1. 0
                      Struppi
                      1. 0
                        KurtZ
                        1. 0
                          Struppi
                          1. 0

                            Lieber Struppi!

                            KurtZ
                          2. 1
                            Christoph
                            1. 0
                              Struppi
                            2. 0

                              Lieber Christof ;)

                              KurtZ
                              1. 0
                                KurtZ
                              2. 1
                                Christoph
                              3. 0

                                Lieber Christo__ph__ ;)

                                Christoph
                                1. 0
                                  KurtZ
                2. 0
                  Siechfred
                  1. 0

                    Lieber Siechfred!

                    KurtZ
                    1. 0
                      molily
                      1. 0
                        KurtZ
                3. 0
                  KurtZ
          2. 0

            Der Hash in Prototype

            Tim Tepaße
        3. 0
          Cheatah
          1. 0
            KurtZ
            1. 0
              Cheatah
      3. 0

        Übrigens, JS hat auch keine Arrays!

        KurtZ
        1. 0
          Don P
        2. 0
          Struppi
          1. 0
            KurtZ
            1. 0
              Struppi
              1. 0
                KurtZ
                1. 0
                  KurtZ
                2. 0
                  Struppi
                  1. 0
                    KurtZ
                    1. 0
                      Struppi
                      1. 0
                        KurtZ
                        1. 0
                          molily
                    2. 1
                      Don P
                      1. 0
                        KurtZ
                      2. 0
                        molily
                  2. 1
                    molily
        3. 2
          molily
        4. 0
          Harlequin
    3. 3
      KurtZ
    4. 0
      Struppi
      1. 0
        KurtZ
        1. 0
          molily
          1. 0
            KurtZ
            1. 0
              Christoph
              1. 0
                KurtZ
                1. 0
                  KurtZ
  3. 0

    Assoziative Arrays - es gibt sie doch!

    Christoph
    1. 0

      leicht modifiziert

      Christoph
      1. 0

        Iteratoren zur Realisierung von »reinen« Hashes nutzen

        Tim Tepaße
        1. 0
          Christoph
          1. 0
            Tim Tepaße
    2. 0
      Struppi