Ich versuche ein flüssiges Muster zu machen, so dass ich Funktionen miteinander verketten kann. So etwas ist hier unten. Aber ich möchte das Objekt am Ende zurückgeben.Zurückgeben eines Objekts am Ende nach Verkettung
var foo = new create();
foo.x("hello")
.y("howdy!")
.z("hello")
.get_obj();
Im Moment scheint es, dass ich einen Zeiger/Verweis auf die create()
Funktion erhalten, die ist, weil ich das bin Rückkehr nach jedem Funktionsaufruf (ich glaube?). Ich weiß, dass ich etwas wie var bar = foo.obj;
machen kann, aber ich würde es wirklich begrüßen, wenn es einen Weg gäbe, das zu vermeiden. Ich bin ziemlich neu in Javascript, ich habe Typoskript verwendet, also ist mein Abschlusswissen etwas eingeschränkt, wenn das das Problem ist.
function create() {
this.obj = {}
this.x = function(value) {
this.obj["key_x"] = value;
return this;
}
this.y = function(value) {
this.obj["key_y"] = value;
return this;
}
this.z = function(name) {
this.obj["key_z"] = value;
return this;
}
this.get_obj = function() {
return this.obj;
}
}
Es ist nicht klar, was Ihre Frage ist. Dein Code funktioniert einfach, oder? – zerkms
'[" key_z "]' ist eine harte Art zu sagen '.key_z' – doug65536
Ja, das weiß ich. Ich habe mich gefragt, ob es eine Möglichkeit gibt, das Objekt 'this.obj' am Ende zurückzugeben, anstatt einen Zeiger auf die' create() 'Funktion zu bekommen. –