Хорошо, поэтому ответ на мой вопрос может и не быть проблемой, но в любом случае здесь дело.
По сути, это одна из частей программы калькулятора.Мне нужно знать, как я могу взять var y
на только первое выполнение этой функции (при условии, что она, вероятно, будет выполняться неоднократно) и преобразовать переменную x в это значение и сохранить это значение длякаждое последующее выполнение ... при этом допускается изменение output.original_value
при вызове другой функции, которая хочет изменить свое значение.Это единственная часть моей программы, которую я не смог понять.
По сути, я пытаюсь эмулировать обычную функцию калькулятора, где, если пользователь нажимает 1 + 2, а затем = вычисление будет отображать 3и затем будет увеличиваться на значение второго числа (в данном случае 2) для каждого последующего нажатия = (т.е. 1 + 2 = 3 = 5 = 7 ....) мой калькулятор сейчас делает противоположное (т.е.. 1 + 2 = 3 = 4 = 5 = 6 .........).
(Я много чего перепробовал ... пока что в конце функции у меня mathSign = null
, который запрещает запуск программы более одного раза без повторного сброса значений другой функцией ... Я не оставил эту часть в опубликованном коде, потому что моя конечная цель - не использовать его.)
function result(){
var x = output.original_value;
var y = parseFloat(output.value);
if(mathSign == '+'){
output.value = x + y;
}
else if(mathSign == '-'){
output.value = x - y;
}
else if(mathSign == '*'){
output.value = x * y;
}
else if(mathSign == '/'){
output.value = x / y;
}
else if(mathSign == 'n^'){
output.value = Math.pow(x,y);
}
else if(mathSign == 'reciprocal'){
output.value = 1 / output.original_value;
mathSign = null;
}
else if(mathSign == 'sqrt'){
output.value = Math.sqrt(output.original_value);
mathSign = null;
}
output.result = output.value;
}