Подсчитайте ... это все, что мы, кажется, делаем все время. От планирования бюджетов и отпусков до того, что осталось в нашем аккаунте 401k, все это требует небольших вычислений. То же самое и для разработчиков программного обеспечения; мы рассчитываем, когда строим вещи. Прямо сейчас этот «материал», который мы собираемся создавать шаг за шагом, и исправлять по частям, представляет собой научный калькулятор.

Теперь это не связано с API, что делает его очень кратким и простым (или немного сложным) для нас. Навыки, которые вам понадобятся, включают хорошее владение HTML, CSS и JavaScript. Используйте свое воображение, здесь мы также будем проделывать множество манипуляций с DOM. Будет справедливо сказать, что мы начали хорошее дело. Давай сделаем это!

(Если вы предпочитаете просто скопировать и вставить код, а затем выяснить, как он работает, за чашкой кофе, есть черный ход с лестничным пролетом, который приведет вас туда)

Добавление кнопок

Здесь мы начнем с нашего HTML, создав кнопки, которые будут определять, как мы будем использовать наш калькулятор. Каждый научный калькулятор имеет свои функции, сгруппированные по четырем типам; основные функции (+, -, *, /… ..), триггерные клавиши (возврат, очистка и ввод), цифровые клавиши (в основном 0–9) и расширенные функции (ln, cos, log, rad, x ^… .. ). Чтобы упростить манипуляции при назначении функций в JavaScript и стилизации в CSS, мы дадим каждой кнопке класс button, а также класс одного из этих четырех; basic-stuff, numbers, triggers и complex-stuff:

Добавление наших триггерных функций

На следующем шаге нам нужно будет создать три самые важные кнопки; CLEAR, ENTER и BACKSPACE. С одной или двумя функциями и несколькими старыми добрыми методами JavaScript мы закончим эту часть в кратчайшие сроки:

Устранение синтаксических ошибок

Наш калькулятор должен уметь регистрировать синтаксические ошибки при вводе неправильного вычисления, скажем, 7-*8. Для этого нам нужно создать функцию:

Определение функций наших кнопок

Здесь мы перейдем к определению функции каждой кнопки. Это легко сделать с помощью JavaScript Math Object. Мы расскажем о многом. Вот несколько отрывков из кода, чтобы вы воодушевились.

Интеграция наших функций с нашими кнопками

Последний кусок нашей головоломки? Предоставляем нашим пользователям что-то, на что можно щелкнуть, и видеть, что это действительно работает. Помните, раньше мы присвоили каждой кнопке класс button? Мы собираемся найти хорошее применение тому, что мы сделали. Мы создадим массив каждого элемента с именем класса button и пройдемся по массиву, вызывая каждую кнопку и назначая ей соответствующую функцию. Это какой-то длинный код (10 000 строк да! :)), но, как обычно, мы предоставим отрывки:

Заключение

Мы пересекли финишную черту, заметили, я ничего не сказал о CSS? Это потому, что, в отличие от HTML и JavaScript, вам разрешено делать свои собственные вещи в CSS; или так кажется. Люди, кажется, думают, что CSS - это просто, я принимаю сторону Отиса Райта здесь.

При желании вы можете просмотреть калькулятор здесь. Ваше здоровье!

Если вам это понравилось, пожалуйста, аплодируйте кнопкой аплодисментов, заранее спасибо!