bleicher: notation

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

--
__________________________-

FirefoxMyth
  1. 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

    --
    “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
  2. Hi,

    bla{ ding:blub} - ich kann mich aber beim besten willen nicht erinnern wie das heißt

    json...?

    Gruesse, Joachim

    --
    Am Ende wird alles gut.
    1. [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

      --
      Deutsches Liedgut international:
      In early rope to mountain we pull
      Foren-Stylesheet Site Selfzeug JS-Lookup
      SelfCode: sh:( fo:| ch:? rl:( br:< n4:( ie:{ mo:| va:) js:| de:> zu:) fl:( ss:| ls:?
      1. Grüße,
        danke das ist es^^
        MFG
        bleicher

        --
        __________________________-

        FirefoxMyth
        1. 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

          --
          __________________________-

          FirefoxMyth
          1. [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

            --
            Deutsches Liedgut international:
            In early rope to mountain we pull
            Foren-Stylesheet Site Selfzeug JS-Lookup
            SelfCode: sh:( fo:| ch:? rl:( br:< n4:( ie:{ mo:| va:) js:| de:> zu:) fl:( ss:| ls:?
            1. 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

              --
              __________________________-

              FirefoxMyth
              1. [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:?
                
                1. 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

                  --
                  __________________________-

                  FirefoxMyth
                  1. [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

                    --
                    Deutsches Liedgut international:
                    In early rope to mountain we pull
                    Foren-Stylesheet Site Selfzeug JS-Lookup
                    SelfCode: sh:( fo:| ch:? rl:( br:< n4:( ie:{ mo:| va:) js:| de:> zu:) fl:( ss:| ls:?
  3. 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

    --
    Am Ende wird alles gut.
    1. 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

      --
      “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]