den folgenden Code Gegeben:Reapply JS Prototype-Funktionen nach der Deserialisierung
function Person(firstName, lastName) {
this.FirstName = firstName;
this.LastName = lastName;
}
Person.prototype.showFullName = function() {
return this.FirstName + " " + this.LastName;
};
var person = new Person("xx", "xxxx");
var jsonString = JSON.stringify(person);
var thePerson = JSON.parse(jsonString);
Mein Ziel hier wäre in der Lage sein "showFullName" auf theperson zu nennen. Während ich verstehe, dass JS nicht wirklich Objekte hat, muss es eine Möglichkeit haben, etwas sagen zu können, sollte auf eine bestimmte Art und Weise behandelt werden, wie zum Beispiel thePerson
zu einem Person
Casting.
(Es ist mehr Parse als Cast, wie ich es sehe) – gdoron
Javascript * hat * Objekte - es ist vollständig objektorientiert. Es hat einfach kein stark erzwungenes Schreibsystem, so dass Sie alles über etwas anrufen können und nicht wissen, dass Sie ein Problem haben, bis später. Aber ich denke, Gdoron ist wahrscheinlich richtig, wenn es darum geht, Methoden nicht zu konservieren. Haben Sie Ihre JSON-Zeichenfolge zur Ausgabe geschrieben? –
Sie können es tun, wenn die Implementierung die nicht standardmäßige '__proto__'-Eigenschaft unterstützt. 'thePerson.__ proto__ = Person.prototype'. –