Я пытаюсь создать жидкую структуру, чтобы я мог объединить функции вместе. Что-то вроде этого ниже. Но я хочу вернуть объект в конце.Возвращаем объект в конце после цепочки
var foo = new create();
foo.x("hello")
.y("howdy!")
.z("hello")
.get_obj();
Прямо сейчас, кажется, что я получаю указатель/ссылку на функцию create()
, что, потому что я вернуть это после каждого вызова функции (я думаю?). Я знаю, что могу сделать что-то вроде var bar = foo.obj;
, но я был бы очень признателен, если бы был способ избежать этого. Я довольно новичок в Javascript, я использовал TypScript раньше, чтобы мои знания о закрытии несколько ограничены, если это проблема.
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;
}
}
Это не ясно, что ваш вопрос. Ваш код просто работает, не так ли? – zerkms
'[" key_z "]' это трудный способ сказать '.key_z' – doug65536
Да, я знаю это. Мне было интересно, есть ли способ вернуть объект 'this.obj' в конце, а не получать указатель на функцию' create() '. –