[JavaScript] Objekt wird als undefined angesehen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [JavaScript] Objekt wird als undefined angesehen

    Hallo alle zusammen,
    ich habe ein kleines Problem und bin mit meinem Latein am Ende. Ich habe ein Objekt in einer seperaten JS Datei welches in etwa so aufgebaut ist
    Code:
    function JSLIB(maintag)
    {
      this.__construct()
      {
       ...
      }
    ...
    }
    Auf der Seite möchte ich es denn natürlich einbinden und rufe es über var jslib = new JSLIB("bla"); auf doch mein Browser sagt mir das der Type von JSLIB undefined ist. Also woran liegt das? ist JavaScript vielleicht nicht Casesensitive und sieht JSLIB so wie jslib?
    EDIT: Achja ich nutze Opera 9 als Browser.

  • #2
    Sollte eigentlich funktionieren. Mach solche Sachen am Besten im Firefox. Mit dem Firebug hast du damit das wohl beste JS-Entwicklungstool!

    Kommentar


    • #3
      Ich glaube, du mischst ein wenig JavaScript und PHP.
      __construct() soll der Konstruktor sein? Das geht aber ein wenig anders. In JavaScript sind Klassen das gleiche wie Methoden. Soll heißen, es gibt keinen Extra-Container. Eine Funktion ist praktisch schon eine Klasse. Somit ist
      Code:
      function JSLIB(maintag) {
          
      }
      sowohl die Klasse als auch der Konstruktor. Weitere Methoden kannst du auf zweierlei Art hinzufügen. Einmal die unübersichtliche:
      Code:
      function JSLIB(maintag) {
          this.method = function() {
              
          }
      }
      oder auf die schönere:
      Code:
      function JSLIB(maintag) {
          
      }
      
      JSLIB.prototype.method = function() {
          
      }

      Kommentar


      • #4
        Meiner Meinung nach hat das aber nicht viel mit der Fehlermeldung zu tun. Sieht eher so aus, als wenn die "Klasse" nicht richtig geladen/erstellt wird.

        Kommentar


        • #5
          RÜÜÜÜSCHTÜÜÜÜSCH!! 100 Punkte für den Kandidaten!

          Und warum nicht? Eben weil hier eine Syntax wie in PHP genommen wurde und nicht die von JavaScript. Das verursacht einen Fehler, sodass die Klasse so behandelt wird, als gäbe sie nicht.
          Es heißt nicht einfach
          Code:
          this.method() {
              
          }
          sondern (wie ich schon schrieb)
          Code:
          this.method = function() {
              
          }
          Schöner ist natürlich die Variante mit prototype.
          Zuletzt geändert von Manko10; 22.04.2008, 18:20.

          Kommentar

          Lädt...
          X