Objekte un Eigenschaften
hotti
- javascript
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
@@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'
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
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.
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
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.
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.
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
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