Variable : Habt ihr sowas schon mal gesehen
Moni
- javascript
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
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.
Danke Z.N.S. !! Jetzt kann ich danach auch suchen. Muss man erstmal wissen wie sich sowas nennt.. ;)
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
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.
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
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.
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.
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 definiertIch 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
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.
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:
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
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:
- 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
http://de.wikipedia.org/wiki/JavaScript
Eine wichtige Datenstruktur in JavaScript ist das assoziative Array [..]
so. das steht jetzt nicht mehr da ;-)
Struppi.
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
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.
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.
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.
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