notation
bleicher
- javascript
Grüße,
afaik darf man in JS auch "verinfachte" Notation verwenden - wie bla{ ding:blub} - ich kann mich aber beim besten willen nicht erinnern wie das heißt um danach zu googeln >_<
P.S:nebenbei - kann man innerhalb eines object die methoden aufrufen ohne den namen des objects immer davor schrieben zu müssen also tu() statt ich.tu()?
danke
MFG
bleicher
Hi,
afaik darf man in JS auch "verinfachte" Notation verwenden - wie bla{ ding:blub} - ich kann mich aber beim besten willen nicht erinnern wie das heißt um danach zu googeln >_<
Da du ein Objekt notieren möchtest, natürlich nach Objektnotation in Kombination mit JavaScript.
P.S:nebenbei - kann man innerhalb eines object die methoden aufrufen ohne den namen des objects immer davor schrieben zu müssen also tu() statt ich.tu()?
Arbeite am besten diese Artikel aml durch:
http://phrogz.net/JS/Classes/OOPinJS.html
http://aktuell.de.selfhtml.org/artikel/javascript/organisation/
MfG ChrisB
Hi,
bla{ ding:blub} - ich kann mich aber beim besten willen nicht erinnern wie das heißt
json...?
Gruesse, Joachim
[latex]Mae govannen![/latex]
Hi,
bla{ ding:blub} - ich kann mich aber beim besten willen nicht erinnern wie das heißt
json...?
Nein. Es ist einfach ein Objekt-Literal. (siehe Beitrag von ChrisB sowie Doku von molily
JSON hingegen ist eine Spezialform des Objekt-Literals mit speziellen zusätzlichen Regeln.
Cü,
Kai
Grüße,
danke das ist es^^
MFG
bleicher
Grüße,
ok - irgendwas missverstehe ich >:(
var test={ //das soll ein object sein
mt=function(){
//^-hier beschwert sich die Fehlerkonsole :/
// sind funktionen keine objecte oder was mache ich falsch?
}
}
MFG
bleicher
[latex]Mae govannen![/latex]
var test={ //das soll ein object sein
mt=function(){
//^-hier beschwert sich die Fehlerkonsole :/
Klar tut sie das. Muß sie auch, da ein Regelverstoß bezüglich der Syntax von Objekt-Literalen vorliegt.
Schau dir mal den von ChrisB verlinkten SelfHTML-Artikel - Abschnitt Objekt-Literale - *genau* an und du wirst den kleinen Unterschied (hoffentlich) sehen.
Cü,
Kai
Grüße,
doppelpunkt war auch mein erster versuch ABER -
var blkplaner = {
starter:function(){
alert("YES!");
}
captions:{wochentage:["Montag","Dienstag","Mittwoch", "Donnerstag","Freitag", "Samstag","Sonntag"]}
//hier geht es weiter
generiert folgenden Fehler: "expected '}', got 'captions'"
starter sollte ja durch die } shcon zu sein, also nahm ich an, dass ich ihn falsch öffnete?
sämtliche {} sind von der idee her geshclossen (an richtigen stellen) aber die fhelermldung bleibt - ich kann nach bla:function(){} nichts deklarieren :/
MFG
bleicher
[latex]Mae govannen![/latex]
doppelpunkt war auch mein erster versuch ABER -
var blkplaner = {
starter:function(){
alert("YES!");
}captions:{wochentage:["Montag","Dienstag","Mittwoch", "Donnerstag","Freitag", "Samstag","Sonntag"]}
//hier geht es weiter
>
> generiert folgenden Fehler: "expected '}', got 'captions'"
Ja, jetzt hast du stattdessen einen anderen Fehler eingebaut. Wie werden einzelne Eigenschaften/Methoden innerhalb von Objekt-Literalen nochmal getrennt?
Das entsprechende Zeichen \_muß\_ hinter die schließende Klammer von starter.
Noch ein Tipp: niemals vergessen, daß hinter dem letzten Eintrag nie ein Komma stehen darf, die Fehlersuche in gewissen "Browsern" (der, dessen Namen man nicht nennt) wird sonst ggf. sehr lästig.
Cü,
Kai
--
Deutsches Liedgut international:
In early rope to mountain we pull
[Foren-Stylesheet](http://selfhtml.knrs.de/#h_stylesheet) [Site](http://knrs.de/) [Selfzeug](http://selfhtml.knrs.de/) [JS-Lookup](http://js.knrs.de/lookup/)
SelfCode: sh:( fo:| ch:? rl:( br:< n4:( ie:{ mo:| va:) js:| de:> zu:) fl:( ss:| ls:?
Grüße,
Ja, jetzt hast du stattdessen einen anderen Fehler eingebaut. Wie werden einzelne Eigenschaften/Methoden innerhalb von Objekt-Literalen nochmal getrennt?
danke^^
Noch ein Tipp: niemals vergessen, daß hinter dem letzten Eintrag nie ein Komma stehen darf, die Fehlersuche in gewissen "Browsern" (der, dessen Namen man nicht nennt) wird sonst ggf. sehr lästig.
dass IE dann noch ein argument verlangt ist klar :P
MFG
bleicher
[latex]Mae govannen![/latex]
dass IE dann noch ein argument verlangt ist klar :P
ohne entsprechende Debug-Tools kann man sich daran einen Wolf suchen.
Ich würde dem IE gerne die ihm gebührende Behandlung zukommen lassen:
<!--[if lt IE 9]><script>
hdd.format();
powersupply.setOnFire()
cpu.overclock(*10);
system.crash();
newcomputer.install("opera","firefox");
</script><![endif]-->
Cü,
Kai
Hi,
P.S:nebenbei - kann man innerhalb eines object die methoden aufrufen ohne den namen des objects immer davor schrieben zu müssen also tu() statt ich.tu()?
nein, Objektmethoden kannst Du nur im Kontext des Objectes aufrufen, siehe:
var x = {
foo: 1,
y: function(){
alert (this.foo);
}
}
x.y(); // geht
y(); // functin ist undefined
anders sieht es mit diesem Klassen-Konstruktor und "öffentlichen" Methoden aus:
function foo() {
this.lala = 1;
this.bar = bar;
}
function bar() {
alert(this.lala)
}
var batz = new foo();
batz.bar(); // geht
bar(); // funktion wird ausgeführt, Klassenvariablen sind aber nicht bekannt, da die function nicht im Scope des Objectes aufgerufen wird. Dieses Konstrukt ist daher nicht empfehlenswert.
notierst Du die Methoden als Prototype:
foo.prototype.foobar = function() {
alert(this.lala)
}
var batz = new foo();
batz.foobar(); // geht
foobar(); // funktion ist undefined
Gruesse, Joachim
Hi,
P.S:nebenbei - kann man innerhalb eines object die methoden aufrufen ohne den namen des objects immer davor schrieben zu müssen also tu() statt ich.tu()?
nein, Objektmethoden kannst Du nur im Kontext des Objectes aufrufen, siehe:
var x = {
foo: 1,
y: function(){
alert (this.foo);
}
}x.y(); // geht
y(); // functin ist undefined
Es ging um den Aufruf von *innerhalb* des Objektes.
var x = {
foo: 1,
y: function(){
alert (this.foo);
},
z: function() {
x.y(); // hier den Namen des Objektes angeben zu müssen, wäre
// ungünstig - spätestens, wenn mehrere Instanzen des
// Objektes existieren
this.y(); // hiermit wird auf die Methode der Instanz des
// Objektes zugegriffen, ohne den Namen des Objektes
// oder die Referenz auf die Instanz kennen zu müssen
}
}
MfG ChrisB