@UsualSon

Сложение или вычитание двух переменных?

Здравствуйте!
Вопрос по сложению/вычитанию двух переменных. Операция узнаётся из условия, и уже после этого нужно либо вычесть, либо сложить.
Вот мой код:
$plus_minus = '+';
if (1+1 == 2)
   $plus_minus = '-';

$total = $digit1 + $plus_minus + $digit2;


Подскажите как сделать операцию сложения или вычитания?
Уточнение: Вариант при котором уже в условии написано что делать - это и так работает, только строки длинные, и в них меняется только один символ (+ или -).
Поэтому вопрос больше для того, чтобы сократить код.
  • Вопрос задан
  • 782 просмотра
Пригласить эксперта
Ответы на вопрос 4
var total, 
x = 1,
y = 2;

if(1+1)//условие
  total = x-y;
else
  total = x+y;


То, что написано у тебя, будет склеиванием строк
Ответ написан
OlegWock
@OlegWock
Python, Java+Android, Frontend
у вас два выбора
1. Использовать eval (но это очень плохой выбор)
2. Просто проверять $plus_minus
// Код в котором вычисляется plus_minus
plus_minus = "+";
if (plus_minus === "+") {
    total = digit1 + digit2;
} else {
    total = digit1 - digit2;
}


Можно, конечно, переписать код выше с помощью тернарного оператора, будет короче. но менее читабельно.
Ответ написан
In4in
@In4in
°•× JavaScript Developer ^_^ ו°
Можно исхитриться так:

function math_by(a, b, z){
  return a + +(z+b);
} 

alert(math_by(2, 3, "-")); //-1
alert(math_by(5, 38 "+")); //43
Ответ написан
Комментировать
@GreatRash
Нету в JS перегрузки операторов.

Вы думаете, что вы сокращаете код, а на самом деле вы превращаете его в нечитаемую кашу. Если вы при этом работаете в команде, то за такое вас нужно карать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы