javascript案例-简易计算器

程序页面图如下图

可以看出它需要一个标题,三个input标签,4个button标签,每一行这里用p标签表示

html 复制代码
   <div>
        <h2>简易计算器</h2>
        <p>
            第一个数:<input type="text" id="num1">
            
        </p>
        <p>
            第二个数:<input type="text" id="num2">
        </p>
        <p>
            <button onclick="calc('+')">+</button>
            <button onclick="calc('-')">-</button>
            <button onclick="calc('*')">*</button>
            <button onclick="calc('/')">/</button>
        </p>
        <p>
            结果:<input type="text" id="result" disabled>
        </p>
    </div>

因为要对input标签要进行DOM操作,因此分别在两个input标签分别设置id为num1,num2,最后输出结果框,设置id为result,因为它只管输出,因此加了个disabled属性

button需要设置事件,事件里面设置一个calc函数,函数的不同效果通过里面传参决定

这里对button简单设置一下css属性

css 复制代码
        button {
            width:77px;
            height:25px;
        }

下面要对button事件里面的javascript函数进行设置

步骤1

分别获取id为num1和num2的input标签获取的值

这里为了简化代码操作,对获取DOM对象代码进行简单封装

javascript 复制代码
    function $(id)
        {
                return document.getElementById(id)
        }
javascript 复制代码
let num1=Number($("num1").value)
    let num2=Number($("num2").value)

步骤2

定义一个变量result,通过分支结构设置获取不同实参的值有什么反应

javascript 复制代码
let result
    switch(flag) {
        case "+":
            result=num1+num2
            break
        case "-":
            result=num1-num2
            break
        case "*":
            result=num1*num2
            break
        case "/":
            result=num1/num2
            break
    }

步骤3

将result的值传入id为result的input标签里

javascript 复制代码
 $('result').value=result

整个函数代码如下

javascript 复制代码
       function $(id)
        {
                return document.getElementById(id)
        }
       function calc(flag) {
    let num1=Number($("num1").value)
    let num2=Number($("num2").value)
    let result
    switch(flag) {
        case "+":
            result=num1+num2
            break
        case "-":
            result=num1-num2
            break
        case "*":
            result=num1*num2
            break
        case "/":
            result=num1/num2
            break
    }
    $('result').value=result
}

整个html代码如下

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>简易计算器</title>
    <style>
        button {
            width:77px;
            height:25px;
        }
    </style>
</head>
<body>
    <div>
        <h2>简易计算器</h2>
        <p>
            第一个数:<input type="text" id="num1">
            
        </p>
        <p>
            第二个数:<input type="text" id="num2">
        </p>
        <p>
            <button onclick="calc('+')">+</button>
            <button onclick="calc('-')">-</button>
            <button onclick="calc('*')">*</button>
            <button onclick="calc('/')">/</button>
        </p>
        <p>
            结果:<input type="text" id="result" disabled>
        </p>
    </div>
    <script>
        function $(id)
        {
                return document.getElementById(id)
        }
       function calc(flag) {
    let num1=Number($("num1").value)
    let num2=Number($("num2").value)
    let result
    switch(flag) {
        case "+":
            result=num1+num2
            break
        case "-":
            result=num1-num2
            break
        case "*":
            result=num1*num2
            break
        case "/":
            result=num1/num2
            break
    }
    $('result').value=result
}
    </script>
</body>
</html>
相关推荐
zttbee4 小时前
echarts图表tooltip色块失效
前端·javascript·echarts
H.莓飛4 小时前
【数据结构】排序_OJ题(一):计数、桶与排序后的处理
java·开发语言·数据结构
wangchunyu1145 小时前
JAVA AQS与Lock实现原理(含CAS)
java·开发语言·word
虚无境6 小时前
如何用AI帮我写出实用的插件
前端·javascript·ai编程
爱喝水的鱼丶6 小时前
SAP-ABAP:ECC→S/4HANA ABAP 迁移升级指南——程序改造、语法兼容与性能优化 导语
运维·开发语言·性能优化·sap·abap·经验交流·开发交流
小灰灰搞电子6 小时前
Rust+Slint 实现FTP客户端调试助手源码分享
开发语言·后端·rust
外收内放6 小时前
面向对象高级(实战案例)
开发语言·python·学习
zimoyin7 小时前
在 C# 里嵌入 JavaScript:用 Jint 做可热更新的自动化脚本(从入门到踩坑)
javascript·c#·自动化
fanruitian7 小时前
python else用法
开发语言·python
FRing038 小时前
JavaScript入门到精通二十六(变量提升、函数剩余参数、展开运算符、ES6箭头函数)
开发语言·前端·javascript·es6·箭头函数