Mögliche Duplizieren:
Self-references in object literal declarationsWie Eigenschaften des aktuellen Objekts in JS referenzieren
Ich habe einige einfache Objekte in JS wie in diesem Beispiel:
var object = {
firstname : 'john',
lastname : 'paul',
wholename : firstname + lastname
}
Gut, das einfache Sache funktioniert nicht; John und Paul sind im ganzen Namen nicht definiert, also habe ich versucht, den 'this' Operator zu benutzen, der NUR arbeitet, wenn ich eine Funktion (getWholeName(){return this.firstname+this.lastname})
mache. Aber wenn ich eine Variable und nicht eine Funktion verwenden möchte, wie kann ich tun? Ich habe auch versucht object.firstname + object.lastname
, aber es funktioniert nicht.
Ok danke. Der Grund dafür ist, dass ich versuche, in einer riesigen Web-App, die ich erstelle, einen gut organisierten Code zu haben; und so beschloss ich, ähnliche Funktionen und Variablen in solchen Objekten neu zu gruppieren. Ist das der richtige Weg? Ich weiß über TypeScript und Module, aber muss ich TS verwenden, um etwas so einfaches wie Gruppen von Funktionen/Variablen zu erreichen? – Rayjax
@ user1397271 Sie können dies in plain JS tun: versuchen Sie Namespaces (wie var MYAPP = {}; MYAPP.data = ...) einzuführen und versuchen Sie, große Funktionen in kleinere zu zerlegen. Ziehen Sie das Modulmuster in Betracht: http://www.acreatelygood.com/2010/3/JavaScript-Module-Pattern-In-Depth – Stefan
Wenn Sie Namespaces wie var MYAPP = {} sagen, bedeutet dies, dass es dasselbe wie in meinem Beispiel ist mit var object = {}, werde ich also auf das Problem stoßen, nach dem ich gefragt habe? – Rayjax