Возврат значения - очень хороший способ сделать это, как указано в первом ответе. Однако я подумал, что стоит добавить некоторую информацию об аргументах по ссылке и по значению.
То, что часто называют «примитивными» типами (строки, числа, логические значения и т. Д.), Передается по значению, что означает, что изменения значения теряются при выходе из функции. Но объекты передаются по ссылке, что означает, что изменения остаются после возврата функции. Итак, в вашем примере выше все они передаются по значению. Но представьте, что вы сделали это вместо этого:
var o = {arraySize, firstNumber,zero, addToOutput};
console.log(o.addToOutput);
ifElse(o);
console.log(o.addToOutput); // value may be different now!
function ifElse (o) {
if(o.arraySize > 0){
let numberOfZeros = zero.repeat(o.arraySize);
o.addToOutput=o.firstNumber+ numberOfZeros + " + ";
}
else{
o.addToOutput = o.firstNumber;
}
}
Теперь вы передаете объект o
, который содержит ваши четыре параметра. И это передается по ссылке, поэтому изменения будут сохраняться.
Опять же, это всего лишь еще один вариант возврата значения. Если вам нужно более одного возвращаемого значения, это может быть полезным инструментом.