KurtZ: was bewirkt {}

Beitrag lesen

Hi

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.

kann es ein dass du for-in mit dem in-Operator verwechselst?
http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Statements:for...in
da steht JS 1.0

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)

Ich kennen kein deprecated bei with, Grandmaster Crockford et.al. polemisieren dagegen, es sei überflüssig, verwirrend, verführe zu Fehlern!

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.

Du Struppi, ich habe auch mit NN4 angefangen zu scripten, und wenn es IMHO eine neue Entwicklung gab, war es diejenige, das manche Leute anfiengen  Object.prototype für sich zu entdecken, so dass der Bedarf an hasOwnProperty() aufkam.

Object als Hash zu nutzen ist IMHO volle Absicht im Design, for-in skipt ja auch absichtlich die Defaultmethoden aus Object.prototype um das zu ermöglichen. Hash() wurde so bewusst eingespart.

Trotzdem hat JS da IMHO da leider Designfehler.

Man kann sich IMHO jetzt auf zwei Standpunkte stellen:

1. Es "gibt" in JS nur Primitiva, Objecte und Funktionen weil es keine anderen *Datentypen* gibt.

2. Es "gibt" auch Arrays und Hashes, deren Verhalten in den Objekten Array() und Object() simuliert werden, allerdings mit kleinen Abstrichen bedingt durch das Objektsystem.

Sich aber ne Mischform aus 1 und 2 zu wählen, ist entweder Inkonsequent oder Scheinheilig.

Diejenigen die also erst polemisieren und dann auch noch die Antwort schuldig bleiben, wie sie es denn besser machen, die sind IMHO letztendlich nur Trolle im Schutze der Mehrheitsmeinung.

Aber ich denke wir beide sind uns soweit einig, dass es nur noch eine Frage der Terminologie ist.

Tschüss
  Kurt

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