Сообщение от DarkPhoenix
|
А как все спаны
|
Этот позор замените на нормальные кнопки...
Кстати у вас получился не
арифметический калькулятор! Т. е. если набрать 2+5*7= то у вас не получится 49
И именно то, за что так любят калькуляторы у вас эпично сломано! 2+= выдаёт 2, а не 4. И 1+==== выдаёт 1, а не 5. И 5×= выдаёт 5, а не 25. Какой баг!
А почему логика работы калькулятора должна зависеть от HTML-элементов?
Разве новое состояние калькулятора не должно вычисляться на основе текущего состояния и нажатой кнопки? (CalculatorState, PressedButton) => CalculatorState
И также есть проблема с работой над вычисленным значением... Если набрать 2+1=+1= то у вас получается 1, а не 4
CalculatorState нужен чтобы там можно было хранить, например, текущее вводимое число, операцию, предыдущее введённое число, и т. д. А PressedButton может быть и √ и ± и sin и др. и без состояния это оборачивается в жестокую манипуляцию над HTML-элементом!