当前位置:首页 > JavaScript

js函数实现简单计算器

2026-03-02 02:24:17JavaScript

实现简单计算器的JavaScript函数

以下是实现简单计算器的JavaScript函数示例,支持加、减、乘、除基本运算:

js函数实现简单计算器

function calculator(num1, operator, num2) {
    switch(operator) {
        case '+':
            return num1 + num2;
        case '-':
            return num1 - num2;
        case '*':
            return num1 * num2;
        case '/':
            if(num2 === 0) {
                return "Error: Division by zero";
            }
            return num1 / num2;
        default:
            return "Error: Invalid operator";
    }
}

使用示例

console.log(calculator(5, '+', 3));  // 输出: 8
console.log(calculator(10, '/', 2)); // 输出: 5
console.log(calculator(7, '*', 6));  // 输出: 42
console.log(calculator(8, '-', 9));  // 输出: -1

扩展功能:支持连续运算

如果需要支持连续运算,可以使用以下改进版本:

function advancedCalculator(expression) {
    try {
        return eval(expression);
    } catch(e) {
        return "Error: Invalid expression";
    }
}

注意事项

使用eval函数时需注意安全性问题,因为它会执行任何传入的JavaScript代码。在生产环境中,建议使用更安全的替代方案,如数学表达式解析库。

改进方案:带验证的计算器

function safeCalculator(expression) {
    const validChars = /^[\d+\-*/().\s]+$/;
    if(!validChars.test(expression)) {
        return "Error: Invalid characters in expression";
    }
    try {
        const result = new Function('return ' + expression)();
        if(isNaN(result)) {
            return "Error: Invalid expression";
        }
        return result;
    } catch(e) {
        return "Error: Invalid expression";
    }
}

浏览器端实现示例

<input type="text" id="calcInput">
<button onclick="calculate()">Calculate</button>
<script>
function calculate() {
    const input = document.getElementById('calcInput').value;
    const result = safeCalculator(input);
    alert(result);
}
</script>

js函数实现简单计算器

标签: 计算器函数
分享给朋友:

相关文章

css制作计算器界面

css制作计算器界面

使用CSS制作计算器界面 制作计算器界面需要结合HTML结构、CSS样式以及可能的JavaScript交互功能。以下是纯CSS部分的实现方法,创建一个基础计算器界面。 HTML结构 先构建一个简单…

js计算器的实现

js计算器的实现

实现基础结构 HTML部分需要创建计算器的基本框架,包含显示区域和按钮。使用<div>容器包裹整个计算器,内部设置一个显示屏和多个按钮。 <div class="calculat…

vue实现异步函数

vue实现异步函数

Vue 中实现异步函数的几种方法 使用 async/await 在 Vue 方法或生命周期钩子中可以直接使用 async/await 语法处理异步操作。这种方式代码更清晰,易于理解。 methods…

vue防抖函数实现

vue防抖函数实现

防抖函数原理 防抖(Debounce)是一种限制函数频繁调用的技术,在事件被触发后延迟执行,若在延迟时间内再次触发,则重新计时。适用于输入框搜索、窗口大小调整等场景。 Vue 中实现防抖的三种方式…

vue实现计算器

vue实现计算器

Vue 实现计算器的方法 使用 Vue 实现计算器可以充分利用其响应式数据和组件化特性。以下是一个简单的实现方案: 创建 Vue 项目 使用 Vue CLI 或 Vite 初始化项目: npm…

vue中实现节流函数

vue中实现节流函数

使用 Lodash 的 _.throttle 方法 安装 Lodash 并导入 throttle 方法: npm install lodash 在 Vue 组件中使用: import { th…