РЕДАКТИРОВАТЬ
Вот попытка упростить мой вопрос.
return this.someFunc(); == return { XXX:this.someFunc() };
Что мне нужно сделать для XXX, чтобы сделать это утверждение истинным?
Я пытаюсь создать функцию, которая может быть скована. Позвольте мне написать некоторый гипотетический код. (Любые ошибки синтаксиса просто игнорируются, я набираю это быстро, и это всего лишь код концепции.) Предположим, что все функции либо определены локально, либо глобально.:)
test = function(){
this.someFunc = function(){
this.retest = function(){
//...code
}
//...code
}
this.someFunc2 = function(){
//...code
}
return this.someFunc();
}
Эта функция позволяет мне цепочка: test().retest();
Но то, что я хочу сделать, это вернуть более одного элемента.
test = function(){
this.someFunc = function(){
this.retest = function(){
//...code
}
//...code
}
this.someFunc2 = function(){
//...code
}
return { XXX:this.someFunc(), //What do I put for XXX
next:this };
}
Я хочу сделать это для доступа к другой функции, которую предлагает test(): test().next.someFunc2();
Итак, моя проблема заключается в следующем:
Я все еще хочу иметь возможность так цепляться: test().retest();
Но я должен сделать это вот так: test().XXX.retest();
В моем коде, какое имя я могу поставить вместо XXX, чтобы выполнить это? И возможно ли это? Я уже пробовал 0
и default
. Спасибо за помощь.