Показать сообщение отдельно
  #4 (permalink)  
Старый 22.07.2017, 18:31
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от shoopik
так вот две функции для сложения-вычитания и есть.
Где? Есть одна, а то что второй раз прописано
function plus() {
    result = num1+num2;
}
так она ведь бесполезна. Это должно быть к примеру так

.....
document.getElementById('out').innerHTML = plus();
function plus() {
    return num1+num2;
}


Хотя так поступать в данном случае не стоит, функция должна принимать аргументы, с которыми производить операцию, возвращая результат. А прописать до нее все, а затем заставить сложить ранее определенное, в этом смысла нет.

Сообщение от shoopik
две функции почти одинаковые, за исключением одного знака, я спросил можно ли как-то вынести одинаковую часть и сократить код в самих функциях,
Можно, передавая в функцию аргументом желаемое действие. Если передавать знак, то eval.

function operation(a, b, o) {
    return o ? a - b : a + b
}

alert(operation(12, 7))
alert(operation(12, 7, 1))
Ответить с цитированием