Ich bin ziemlich verwirrt über die Prototyp-Kette und Vererbung in JavaScript. Das Date() -Objekt hat zum Beispiel die Member-Methoden/Funktionen wie Date.now()
. Warum erzeugt es dann, wenn Sie eine neue Instanz des Date() -Objekts erstellen und die now() -Methode aufrufen, einen Fehler? new Date.now()
Aber beim Aufruf einer Prototyp-Methode wie getTime
funktioniert Caling new Date().getTime()
funktioniert aber nicht Date().getTime()
ohne eine neue Instanz zu erstellen. Warum das? Ich hatte das Verständnis, dass Prototypen von Objekten Teil des ursprünglichen Objekts werden? Zum Beispiel:Prototypen und Klasse/Konstruktor/Objekt-Mitglieder
function Person(firstName, lastName) {
this.firstname = firstName;
this.lastname = lastName;
this.getfirstName =() => {
return this.firstName;
}
}
Person.prototype.getlastName =() => {
return this.lastName;
}
der Prototyp Methode nicht Mitglied Verfahren von Person
getlastName
werden und ohne Verwendung des new
Schlüsselwörter wie zugegriffen werden, wie es mit getTime() für Date() verwendet werden muss?
'getLastName' kehrt' this.lastName' was bedeutet es für die Instanz wirkt. Checkout http://javascriptdissexy.com/javascript-prototype-in-plain-detailed-language/ es könnte einige Dinge klären. –