تابستون داره تموم میشه ها، فرصت‌ها محدودن کلی آفر جذاب در کمپین تابستون🔥👇
۰ ثانیه
۰ دقیقه
۰ ساعت
۰ محمد شکری
محاسبه (عملیات پایه) ماشین حساب با یکسری تغییرات
جامعه جاوا اسکریپت ایجاد شده در ۰۶ خرداد ۱۴۰۲
//-------------| MohammadShokri |-
"use strict";
const calculator = document.getElementById("calculator");
const output = document.getElementById("output");
const calcResult = document.getElementById("calcResult");
// handle physical keyboard
window.addEventListener("keydown", (e) => {
    let numbers = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
    let operators = ["+", "-", "*", "/", "%", "**", "(", ")"];
    if (e.key === "Backspace") {
        //delete the last index with backspace
        output.value = output.value.slice(0, -1);
    }
    if (numbers.includes(e.key) || operators.includes(e.key)) {
        //if it was number or operator write it
        output.value += e.key;
    }
    if (e.key === "c") {
        //clear output with C
        output.value = "";
    }
    if (e.key === "Enter") {
        //calc with Enter
        try {
            let result = eval(output.value);
            output.value = result;
        } catch (error) {
            output.value = "Unknown Error";
        }
    }
});
//handle screen keyboard
calculator.addEventListener("click", (e) => {
    let target = e.target;
    switch (target.id) {
        case "zero":
            output.value += 0;
            break;
        case "one":
            output.value += 1;
            break;
        case "two":
            output.value += 2;
            break;
        case "three":
            output.value += 3;
            break;
        case "four":
            output.value += 4;
            break;
        case "five":
            output.value += 5;
            break;
        case "six":
            output.value += 6;
            break;
        case "seven":
            output.value += 7;
            break;
        case "eight":
            output.value += 8;
            break;
        case "nine":
            output.value += 9;
            break;
        case "clear":
            output.value = "";
            break;
        case "backspace":
            output.value = output.value.slice(0, -1);
            break;
        case "sum":
            output.value += "+";
            break;
        case "sub":
            output.value += "-";
            break;
        case "mul":
            output.value += "*";
            break;
        case "div":
            output.value += "/";
            break;
        case "mod":
            output.value += "%";
            break;
        case "pow":
            output.value += "**";
            break;
        case "lbracket":
            output.value += "(";
            break;
        case "rbracket":
            output.value += ")";
            break;
    }
});
//calculate result
calcResult.addEventListener("click", (e) => {
    try {
        let result = eval(output.value);
        output.value = result;
    } catch (error) {
        output.value = "Unknown Error";
    }
});