利用JavaScript写一个简单计算器


Posted in Javascript onNovember 27, 2021

效果如下:

利用JavaScript写一个简单计算器

参考程序:

<!DOCTYPE html>

<html lang="en">



<head>

    <meta charset="UTF-8">

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>模拟计算器</title>

    <style>

        button {

            width: 39px;

            height: 30px;

            background-color: rgb(102, 240, 102);

        }

        button:hover {

            background-color: black;

            color: rgb(255, 249, 237);

        }



        button:active {

            background-color: rgb(79, 72, 72);

            color: white;

        }

        table{

            background: rgb(192, 248, 109);

        }

    </style>

</head>



<body>

    <div>

        <table border="1px">

            <tr style="text-align: center;">

                <td colspan="4">

                    <input type="text" id="result" >

                </td>

            </tr>

            <tr>

                <td><button id="le" onclick="getChar('(')">(</button></td>

                <td><button id="rg" onclick="getChar(')')">)</button></td>

                <td><button id="baifen" onclick="getChar('%')">%</button></td>

                <td><button id="C" onclick="clear1()">C</button></td>

            </tr>

            <tr>

                <td><button id="seven" onclick="getChar('7')">7</button></td>

                <td><button id="eight" onclick="getChar('8')">8</button></td>

                <td><button id="nine" onclick="getChar('9')">9</button></td>

                <td><button id="divi" onclick="getChar('/')">/</button></td>

            </tr>

            <tr>

                <td><button id="four" onclick="getChar('4')">4</button></td>

                <td><button id="five" onclick="getChar('5')">5</button></td>

                <td><button id="six" onclick="getChar('6')">6</button></td>

                <td><button id="mul" onclick="getChar('*')">*</button></td>

            </tr>

            <tr>

                <td><button id="one" onclick="getChar('1')">1</button></td>

                <td><button id="two" onclick="getChar('2')">2</button></td>

                <td><button id="three" onclick="getChar('3')">3</button></td>

                <td><button id="dec" onclick="getChar('-')">-</button></td>

            </tr>

            <tr>

                <td><button id="zero" onclick="getChar('0')">0</button></td>

                <td><button id="point" onclick="getChar('.')">.</button></td>

                <td><button id="=" onclick="getResult()">=</button></td>

                <td><button id="add" onclick="getChar('+')">+</button></td>

            </tr>

        </table>

    </div>

</body>

<script>

    // 点击按键返回按键值

    function getChar(btnid) {

        var btns = document.getElementsByTagName("button")

        switch (btnid) {

            case '+':

                setNum('+')

                break;

            case '.':

                setNum('.')

                break;

            case '=':

                setNum('=')

                break;

            case '0':

                setNum('0')

                break;

            case '1':

                setNum('1')

                break;

            case '2':

                setNum('2')

                break;

            case '3':

                setNum('3')

                break;

            case '-':

                setNum('-')

                break;

            case '4':

                setNum('4')

                break;

            case '5':

                setNum('5')

                break;

            case '6':

                setNum('6')

                break;

            case '7':

                setNum('7')

                break;

            case '8':

                setNum('8')

                break;

            case '9':

                setNum('9')

                break;

            case '/':

                setNum('/')

                break;

            case '*':

                setNum('*')

                break;

            case '(':

                setNum('(')

                break;

            case ')':

                setNum(')')

                break;

            case '%':

                setNum('%')

                break;

            default:

                break;

        }

    }

    // 清空显示屏

    function clear1() {

        document.getElementById("result").value = ""

    }

    // 将数值显示到显示屏

    function setNum(charCode) {

        var origin = document.getElementById('result');

        origin.value += charCode;

        origin.innerText = origin.value;

    }

    // 计算结果

    function getResult(){

        var res=eval(document.getElementById("result").value);

        // 追加'='

        setNum('=');

        // 追加结果

        setNum(res)

    }

</script>

</html>

备注:在做计算的时候,可以直接使用eval这个函数,我们就不用自己手动写加减乘除的计算逻辑了,大大简化了开发

例如:

var num=eval(‘3+3')

则运算结果是num=6

eval函数用法:

语法:eval(参数),参数是js表达式,为字符串,可以包含变量以及已经存在对象的属性

返回值情况:

参数类型 返回值
整数或者函数 整数或函数
字符串(且是表达式) 该字符串表达式的运行结果
字符串(且是语句或者语句块) 执行该语句块并返回undefined

到此这篇关于 利用JavaScript写一个简单计算器的文章就介绍到这了,更多相关JavaScript写简单计算器内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
老鱼 浅谈javascript面向对象编程
Mar 04 Javascript
jQuery操作 input type=checkbox的实现代码
Jun 14 Javascript
JavaScript的Backbone.js框架环境搭建及Hellow world示例
May 07 Javascript
JavaScript解析JSON格式数据的方法示例
Jan 24 Javascript
微信小程序 下拉列表的实现实例代码
Mar 08 Javascript
移动端web滚动分页的实现方法
May 05 Javascript
js中json对象和字符串的理解及相互转化操作实现方法
Sep 22 Javascript
node中使用es6/7/8(支持性与性能)
Mar 28 Javascript
Vue项目路由刷新的实现代码
Apr 17 Javascript
浅谈一个webpack构建速度优化误区
Jun 24 Javascript
js实现简单图片拖拽效果
Feb 22 Javascript
JavaScript设计模式之原型模式详情
Jun 21 Javascript
JavaScript中的宏任务和微任务详情
Nov 27 #Javascript
前端监听websocket消息并实时弹出(实例代码)
Vue实现跑马灯样式文字横向滚动
Nov 23 #Vue.js
利用js实现简单开关灯代码
Nov 23 #Javascript
详解Vue的列表渲染
Nov 20 #Vue.js
详解JS数组方法
Nov 20 #Javascript
详解Vue slot插槽
Nov 20 #Vue.js
You might like
与空气斗智斗勇的经典《Overlord》,传说中的“无稽之谈”
2020/04/09 日漫
PHP示例演示发送邮件给某个邮箱
2019/04/03 PHP
理解Javascript_15_作用域分配与变量访问规则,再送个闭包
2010/10/20 Javascript
页面定时刷新(1秒刷新一次)
2013/11/22 Javascript
JS 操作Array数组的方法及属性实例解析
2014/01/08 Javascript
ZeroClipboard插件实现多浏览器复制功能(支持firefox、chrome、ie6)
2014/08/30 Javascript
JS 获取鼠标左右键的键值方法
2014/10/11 Javascript
node.js中的fs.openSync方法使用说明
2014/12/17 Javascript
JavaScript实现自动生成网页元素功能(按钮、文本等)
2015/11/21 Javascript
微信jssdk在iframe页面失效问题的解决措施
2016/03/03 Javascript
AngularJS 执行流程详细介绍
2016/08/18 Javascript
JQuery获取鼠标进入和离开容器的方向
2016/12/29 Javascript
vue-router 学习快速入门
2017/03/01 Javascript
JS组件系列之JS组件封装过程详解
2017/04/28 Javascript
微信小程序实现分享朋友圈的图片功能示例
2019/01/18 Javascript
echarts多条折线图动态分层的实现方法
2019/05/24 Javascript
layui之数据表格--与后台交互获取数据的方法
2019/09/29 Javascript
VUEX 数据持久化,刷新后重新获取的例子
2019/11/12 Javascript
vue实现路由不变的情况下,刷新页面操作示例
2020/02/02 Javascript
原生js实现移动小球(碰撞检测)
2020/12/17 Javascript
[42:27]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第三局
2016/03/05 DOTA
python中stdout输出不缓存的设置方法
2014/05/29 Python
python:接口间数据传递与调用方法
2018/12/17 Python
Python列表常见操作详解(获取,增加,删除,修改,排序等)
2019/02/18 Python
python pyecharts 实现一个文件绘制多张图
2020/05/13 Python
pymysql模块使用简介与示例
2020/11/17 Python
Perfume’s Club英国官网:购买香水和护肤品
2019/11/02 全球购物
俄罗斯建筑和装饰材料在线商店:Stroilandia
2020/07/25 全球购物
如何清空Session
2015/02/23 面试题
中学生班主任评语
2014/01/30 职场文书
酒店总经理助理职责
2014/02/12 职场文书
大学生会计职业生涯规划范文
2014/02/28 职场文书
酒店餐厅2014重阳节活动策划方案
2014/09/16 职场文书
专业见习报告范文
2014/11/03 职场文书
客户付款通知书
2015/04/23 职场文书
python 解决微分方程的操作(数值解法)
2021/05/26 Python