date() - Obkjet oder Konstruktor ???
schnick
- javascript
Hallo, ich habe mich ein bisschen kundig über objektorientierte Programmierung gemacht.
Nachdem, was ich nun gelesen habe, würde ich doch meinen, dass bei Javascript die Funktion date() (http://de.selfhtml.org/javascript/sprache/objekte.htm#vordefinierte)
kein Objekt , sondern ein Konstruktor ist, denn er stellt ja neue Instanzen/Objekte (wie mans nimmt) her.
Nur wird die ganze Zeit bei Selfhtml von dem Objekt date() gesprochen.
Also ist date() nun ein Konstruktor, ein Objekt oder ist es sogar beides(ist dies denn überhaupt möglich)?
Danke im voraus,
schnick
Also ist date() nun ein Konstruktor, ein Objekt oder ist es sogar beides(ist dies denn überhaupt möglich)?
Also meines Wissens ist der Konstruktur eine Funktion innerhalb einer Klasse die beim Instanzieren der Klasse aufgerufen wird. (In C++, PHP und Perl ist es so, ich gehe davon aus, in JS ist es genauso)
Ich würde sagen, date() ist der Name der Klasse. Ob diese einen Konstruktor hat, kann ich nicht sagen, vermute ich aber, da einige Werte bereits nach der Instanzierung zur Verfügung stehen.
Hello,
Also ist date() nun ein Konstruktor, ein Objekt oder ist es sogar beides(ist dies denn überhaupt möglich)?
du musst da feinsäuberlich unterschreiben. Es gibt eine Klasse Date. Von dieser Klasse Date kann man verschiedene Instanzen (Objekte) erzeugen. Um ein solches Objekt zu erzeugen wird der Konstruktor verwendet, der im Falle von JavaScript mit Hilfe von "new Date()" aufgerufen wird. Übrigens ist genau das auch in SELFHTML beschrieben:
<quote>
Zuerst muss dazu eine neue Seite Variable angelegt werden. Im Beispiel ist das die Variable Jetzt. Diese Variable soll auf Daten des Date-Objekts zugreifen können. Dies geschieht durch ein Ist-Gleich-Zeichen hinter dem Variablennamen. Dahinter folgt das Seite reservierte Wort new, und dahinter, durch ein Leerzeichen getrennt, der Aufruf von Date() zum Erzeugen einer neuen Instanz des Objekts Date.
</quote>
MfG
Rouven
Hallo,
Nur wird die ganze Zeit bei Selfhtml von dem Objekt date() gesprochen.
Also ist date() nun ein Konstruktor, ein Objekt oder ist es sogar beides(ist dies denn überhaupt möglich)?
Es gibt in JavaScript keine Unterscheidung zwischen Objekten und Konstruktor-Funktionen, denn Konstruktoren sind Funktionen und Funktionen sind Objekte. Fast alles ist in JavaScript ein Objekt und nahezu alles verhält sich in JavaScript wie ein Objekt.
Konstruktor-Funktionen können beim Aufruf mit »new« neue Objekte erzeugen - alle Objekte in JavaScript werden so erzeugt, wenn man nicht sogenannte Literale notiert wie "string", 1234 oder true/false. Date ist ein sogenanntes Kernobjekt, andere Kern-Konstruktoren dieser Art sind String, Number, Boolean, RegExp, Array, Function usw.
Mathias