Moni: Variable : Habt ihr sowas schon mal gesehen

Hi!

ich habe ein BeispielScript entdeckt und frage mich was das hier für eine varibalendeklaration ist:
Habt ihr sowas schonmal gesehen?

var myvariable = {
width : 100,
height: 200,
windoww: 300,
windowh: 300,
dncss : 'newName',
  mystyle :
  {
    type: 'buttons',
    css: 'newName',
    firstimg : 'images/first.gif',
    lastimg : 'images/last.gif,
  }
  array1 : ['igor','ivan','hans','helga','carmen'],
  array2 : ['mueller','meier','schmitt']
};

Javascript-variable mit darin enthaltenen CSS-syntax??? Bin noch nie zuvor auf sowas gestossen.
kann man denn von einer externen function (in einer anderen .js) überhaupt das hiesige "array1" aufrufen? Geht das überhaupt?
*kopfkratz*
vielen Dank!!
Moni

  1. abend,

    das ist ein mehrdimensionaler assoziativer array. (mit ein paar
    syntaxfehlern ;). richtig:
    <script language="JavaScript">
    var myvariable =
    {
     width : 100,
     height: 200,
     windoww: 300,
     windowh: 300,
     dncss : 'newName',
     mystyle :
      {
        type: 'buttons',
        css: 'newName',
        firstimg : 'images/first.gif',
        lastimg : 'images/last.gif'
      },
      array1 : ['igor','ivan','hans','helga','carmen'],
      array2 : ['mueller','meier','schmitt']
    };
    alert(myvariable["mystyle"]["type"]);
    </script>

    ich habe ein 'alert' dazugepackt (letzte zeile) damit es deutlich wird.

    mfg,
    (tanz das)
    Z.N.S.

    --
    <img src="http://www.comunicout.com/zebulon/en.gif" border="0" alt="">
    .:LIFE ON OTHER PLANETS IS DIFFICULT:.
    1. Danke Z.N.S. !! Jetzt kann ich danach auch suchen. Muss man erstmal wissen wie sich sowas nennt..  ;)

      1. Hello,

        Danke Z.N.S. !! Jetzt kann ich danach auch suchen. Muss man erstmal wissen wie sich sowas nennt..  ;)

        Ich würde das eine JavaScript Datenstruktur nennen.

        Und dann würde ich oben

        <script type="text/javascript">

        schreiben.

        Harzliche Grüße aus http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau
        1. abend,

          Ich würde das eine JavaScript Datenstruktur nennen.

          und ein array soll keine datenstuktur besitzen?

          Und dann würde ich oben
          <script type="text/javascript">

          das stimmt.

          mfg,
          (tanz das)
          Z.N.S.

          --
          <img src="http://www.comunicout.com/zebulon/en.gif" border="0" alt="">
          .:LIFE ON OTHER PLANETS IS DIFFICULT:.
          1. Hello,

            Ich würde das eine JavaScript Datenstruktur nennen.
            und ein array soll keine datenstuktur besitzen?

            Doch, natürlich hat ein Array auch eine eigene Struktur. Nur wenn ich das richtig sehe, wird hier eine Datenstruktur definiert, die auch ein Array enthält.

            Ich las hier neulich, dass JavaScript eigentlich keine assoziativen Arrays kennt.

            Und dann würde ich oben
            <script type="text/javascript">
            das stimmt.

            mfg,
            (tanz das)
            Z.N.S.

            Harzliche Grüße aus http://www.annerschbarrich.de

            Tom

            --
            Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
            Nur selber lernen macht schlau
            1. abend,

              und ein array soll keine datenstuktur besitzen?
              Doch, natürlich hat ein Array auch eine eigene Struktur.

              meine frage war ironisch gemeint ;)

              Nur wenn ich das richtig sehe, wird hier eine Datenstruktur definiert, die
              auch ein Array enthält.

              hier wird eine datenstruktur in form eines assoziativen arrays definiert

              Ich las hier neulich, dass JavaScript eigentlich keine assoziativen Arrays
              kennt.

              ???
              siehe dazu ua.:

              http://www.coderlinks.de/was-ist-javascript,1700,900.html
              Datenstrukturen und Objekte
              Eine wichtige Datenstruktur in JavaScript ist das assoziative Array, das in anderen Programmiersprachen "Dictionary" (Smalltalk), "Hash" (Perl) oder "HashMap" (Java) genannt wird.

              http://de.wikipedia.org/wiki/JavaScript
              Eine wichtige Datenstruktur in JavaScript ist das assoziative Array [..]

              http://www.uni-protokolle.de/Lexikon/Assoziative_Array.html
              Ein assoziatives Array ist eine Datenstruktur, deren einzelne Elemente nicht wie bei numerischen Arrays über einen Index , sondern über einen Schlüssel angesprochen werden

              mfg,
              (tanz das)
              Z.N.S.

              --
              <img src="http://www.comunicout.com/zebulon/en.gif" border="0" alt="">
              .:LIFE ON OTHER PLANETS IS DIFFICULT:.
              1. http://www.coderlinks.de/was-ist-javascript,1700,900.html
                Datenstrukturen und Objekte
                Eine wichtige Datenstruktur in JavaScript ist das assoziative Array, das in anderen Programmiersprachen "Dictionary" (Smalltalk), "Hash" (Perl) oder "HashMap" (Java) genannt wird.

                http://de.wikipedia.org/wiki/JavaScript
                Eine wichtige Datenstruktur in JavaScript ist das assoziative Array [..]

                http://www.uni-protokolle.de/Lexikon/Assoziative_Array.html
                Ein assoziatives Array ist eine Datenstruktur, deren einzelne Elemente nicht wie bei numerischen Arrays über einen Index , sondern über einen Schlüssel angesprochen werden

                Gut, aber wo hat es eine Eigenschaft eines Arrays? Wer hat diesen Begriff definiert?

                Ich vermute mal das ganze kommt daher, weil man in JS zufälligerwiese den Klammern operator [] benutzen kann um auf die Eigenschaften dieses Objektes zugreifen zu können, aber das geht in JS mit jedem Objekt.

                Im Prinzip ist es eher ein HASH als ein Array wobei es noch nicht mal die Funktionalität dieses anbietet (each, keys), es ist letztlich einfach nur ein Objekt.

                Das Problem ist das es einfach kein Array ist und durch den Begriff wird suggeriert es hätte die Eigenschaften eines Arrays (fast überall wurde ja auch new Array() verwendet), was aber definitiv nicht zutrifft.

                Struppi.

              2. Hello,

                Nur wenn ich das richtig sehe, wird hier eine Datenstruktur definiert, die
                auch ein Array enthält.
                hier wird eine datenstruktur in form eines assoziativen arrays definiert

                Ich las hier neulich, dass JavaScript eigentlich keine assoziativen Arrays
                kennt.
                ???
                siehe dazu ua.:

                Ja, habe ich mir angeschaut. Siehe Du bitte http://forum.de.selfhtml.org/archiv/2004/8/86318/#m510560

                Harzliche Grüße aus http://www.annerschbarrich.de

                Tom

                --
                Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                Nur selber lernen macht schlau
                1. abend,

                  Ja, habe ich mir angeschaut. Siehe Du bitte http://forum.de.selfhtml.org/archiv/2004/8/86318/#m510560

                  habe ich mir auch angeschaut. ist schon eine knifflige sache. aber werde dennoch
                  weiterhin in zusammenhang mit javascript den begriff array verwenden, vielleicht
                  mit einem 'kastriert' davor ;-)

                  grüße aus berlin
                  (tanz das)
                  Z.N.S.

                  --
                  <img src="http://www.comunicout.com/zebulon/en.gif" border="0" alt="">
                  .:LIFE ON OTHER PLANETS IS DIFFICULT:.
                  1. Hello,

                    Ja, habe ich mir angeschaut. Siehe Du bitte http://forum.de.selfhtml.org/archiv/2004/8/86318/#m510560
                    habe ich mir auch angeschaut. ist schon eine knifflige sache. aber werde dennoch
                    weiterhin in zusammenhang mit javascript den begriff array verwenden, vielleicht
                    mit einem 'kastriert' davor ;-)

                    Das liegt an der allgemeinen Verwässerung des Begriffes.

                    Unter Array versteht man in der klassischen Datentechnik eine wiederkehrende, festgelegte und  statische Speicherstruktur, die im Hauptspeicher in einem geschlossenen Block abgelegt ist.
                    Man unterscheidet dabei zwischen "Array of Basic Types" und "Array of Structures"

                    Entweder hat man druch direkte Speichermanipulation oder durch (kapselnde) Zugriffsfunktionen die Möglichkeiten:

                    • Das Array Element für Element zu durchwandern, vorwärts und rückwärts
                    • Das Array zu sortieren (nach einer festgelegten Funktion)
                    • Elemente an definierter Stelle einzufügen bzw. auszutauschen
                    • Elemente gezielt zu löschen bzw. auszutauschen

                    Hinzufügen und Löschen bedeuten schon den Schritt zur Verketteten Liste oder Baum. Dann handelt es sich nit mehr um eine statische Speicherstruktur.

                    Harzliche Grüße aus http://www.annerschbarrich.de

                    Tom

                    --
                    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                    Nur selber lernen macht schlau
                    1. Hello,

                      Entweder hat man druch direkte Speichermanipulation oder durch (kapselnde) Zugriffsfunktionen die Möglichkeiten:

                      • Das Array Element für Element zu durchwandern, vorwärts und rückwärts

                      das Wichtigste habe ich vergessen:

                      • den wahlfreien Zugriff auf jedes Element
                      • Das Array zu sortieren (nach einer festgelegten Funktion)
                      • Elemente an definierter Stelle einzufügen bzw. auszutauschen
                      • Elemente gezielt zu löschen bzw. auszutauschen

                      Hinzufügen und Löschen bedeuten schon den Schritt zur Verketteten Liste oder Baum. Dann handelt es sich nit mehr um eine statische Speicherstruktur.

                      Harzliche Grüße aus http://www.annerschbarrich.de

                      Tom

                      --
                      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                      Nur selber lernen macht schlau
              3. http://de.wikipedia.org/wiki/JavaScript
                Eine wichtige Datenstruktur in JavaScript ist das assoziative Array [..]

                so. das steht jetzt nicht mehr da ;-)

                Struppi.

                1. Hello,

                  http://de.wikipedia.org/wiki/JavaScript
                  Eine wichtige Datenstruktur in JavaScript ist das assoziative Array [..]

                  so. das steht jetzt nicht mehr da ;-)

                  Dann musst Du es aber in SelfHTML auch gleich ändern...
                  Allerdings steht da ja wenigstens dabei, dass die Eigenschaft length nicht exisistiert.

                  Harzliche Grüße aus http://www.annerschbarrich.de

                  Tom

                  --
                  Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                  Nur selber lernen macht schlau
                2. abend,

                  http://de.wikipedia.org/wiki/JavaScript
                  Eine wichtige Datenstruktur in JavaScript ist das assoziative Array [..]
                  so. das steht jetzt nicht mehr da ;-)

                  aber so stimmt es doch gar nicht! es existieren jawohl assoz.arrays. nur besitzen
                  diese nun nicht alle array-typischen eigenschaften. ich kann fürwahr mittels
                  $arr['key1']['key2'] auf einen wert zugreifen. sieh dazu:
                  http://de.selfhtml.org/javascript/objekte/array.htm#assoziative_arrays

                  mfg,
                  (tanz das)
                  Z.N.S.

                  --
                  <img src="http://www.comunicout.com/zebulon/en.gif" border="0" alt="">
                  .:LIFE ON OTHER PLANETS IS DIFFICULT:.
                  1. http://de.wikipedia.org/wiki/JavaScript
                    Eine wichtige Datenstruktur in JavaScript ist das assoziative Array [..]
                    so. das steht jetzt nicht mehr da ;-)
                    aber so stimmt es doch gar nicht! es existieren jawohl assoz.arrays. nur besitzen
                    diese nun nicht alle array-typischen eigenschaften. ich kann fürwahr mittels
                    $arr['key1']['key2'] auf einen wert zugreifen. sieh dazu:

                    Es ist genau umgekehrt, es ist kein Array, man kann aber mit dem [] Operator darauf zugreifen. Hat aber ansonsten keine einzige Array typische Eigenschaft, weil es eben keines ist.

                    Struppi.

          2. Ich würde das eine JavaScript Datenstruktur nennen.
            und ein array soll keine datenstuktur besitzen?

            Doch, aber eine Datenstruktur hat nicht die Eigenschaften/Funktionen eines Arrays.

            Struppi.

    2. gruss Z.N.S., hallo Moni,

      das ist ein mehrdimensionaler assoziativer array.  ...

      ist es nicht - aber dazu haben sich ja schon Struppi
         und Tom geaeusert - hier nocheinmal drei links auf
         aufklaerungsversuche meinerseits:

      http://forum.de.selfhtml.org/archiv/2004/8/86318/#m510547
         http://forum.de.selfhtml.org/archiv/2004/7/85970/#m507500
         http://forum.de.selfhtml.org/archiv/2004/7/84257/#m493695

      ...  (mit ein paar syntaxfehlern ;). richtig:
      [korrigierte objekt-struktur]

      korrekt;

      Moni schrieb:

      Javascript-variable mit darin enthaltenen CSS-syntax???

      es handelt sich also um die literalschreibweise einer
         komplexen objekt-struktur, die nur auf den ersten blick
         aehnlichkeiten mit der css-syntax aufzuweisen scheint -
         gemeinsam ist beiden das notationsschema >>property: value<<;

      es gibt sogar einen vorschlag, solche strukturen, ob ihrer
         schlankheit als daten(aus)tauschformat zwischen verschiedenen
         an die C-syntax angelehnten programmiersprachen zu benutzen und
         diese in bestimmten faellen auch als alternative zu XML zu sehen;

      das nennt sich JSON, was fuer "JavaScript Object Notation" steht
         und nachzulesen ist unter:

      http://www.crockford.com/JSON/index.html

      wenn man schon mal dort ist, und javascript naeher kennen-
         lernen will, sollte man ohnehin alles in sich aufsaugen,
         was Douglas Crockford zu dieser sprache zu sagen hat;

      by(t)e by(t)e - peterS. - pseliger@gmx.net

      --
      br:& n3:} n4:# ie:| mo:{ va:| de:[ zu:] fl:) ss:) ls:& js:)