После поиска в течение некоторого времени я до сих пор не нашел то, что искал.Chain custom javascript функции
Существует множество примеров, которые требуют создания нового экземпляра или имеют только функции, которые ничего не возвращают (это означает, что проблема может быть решена с возвратом this
).
Я надеюсь, что следующий пример иллюстрирует мою точку хорошо:
// Say I have these functions
function aNumber(){
var max = 100, min = 0;
return (Math.floor(Math.random() * (max - min + 1)) + min);
}
function divideBy(_number, _divider){
return (_number/_divider);
}
function multiplyBy(_number, _multi){
return (_number * _multi);
}
function add(_number, _add){
return (_number + _add);
}
function subtract(_number, _sub){
return (_number - _sub);
}
// #########################################################
// I can do this with them
var test = aNumber();
test = divideBy(aNumber, 2);
test = add(aNumber, 5);
test = multiplyBy(aNumber, 3);
test = subtract(aNumber, 10);
// I would like to do this however:
var test = aNumber().divideBy(2).add(5).multiplyBy(3).subtract(10);
Что будет наиболее эффективным способом, чтобы сделать последнюю работу линии?
Я дезинформировал, что это возможно без создания нового экземпляра чего-то?
Нет ничего плохого в создании новых экземпляров, не знаете, почему вы хотели бы этого избежать? – Bergi