利用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 参考教程
Dec 29 Javascript
JQuery 选择和过滤方法代码总结
Nov 19 Javascript
DD_belatedPNG,IE6下PNG透明解决方案(国外)
Dec 06 Javascript
JS阻止用户多次提交示例代码
Mar 26 Javascript
jQuery中 prop() attr()使用详解
May 19 Javascript
angularjs使用gulp-uglify压缩后执行报错的解决方法
Mar 07 Javascript
React Form组件的实现封装杂谈
May 07 Javascript
vue中动态设置meta标签和title标签的方法
Jul 11 Javascript
JS实现获取数组中最大值或最小值功能示例
Mar 02 Javascript
Vue触发隐藏input file的方法实例详解
Aug 14 Javascript
vue实现商城秒杀倒计时功能
Dec 12 Javascript
vue实现单一筛选、删除筛选条件
Oct 26 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
php截取中文字符串不乱码的方法
2013/12/25 PHP
重新认识php array_merge函数
2014/08/31 PHP
PHP查询并删除数据库多列重复数据的方法(利用数组函数实现)
2016/02/23 PHP
一个JS翻页效果
2007/07/23 Javascript
用Jquery实现多级下拉框无刷新的联动
2010/12/22 Javascript
原生js做的手风琴效果的导航菜单
2013/11/08 Javascript
JS图像无缝滚动脚本非常好用
2014/02/10 Javascript
JS根据变量保存方法名并执行方法示例
2014/04/04 Javascript
关于Javascript 对象(object)的prototype
2014/05/09 Javascript
浅析jQuery Ajax通用js封装
2016/06/22 Javascript
浅谈jquery上下滑动的注意事项
2016/10/13 Javascript
jQuery使用正则表达式替换dom元素标签用法示例
2017/01/16 Javascript
JS判断两个对象内容是否相等的方法示例
2017/04/10 Javascript
Vuejs入门教程之Vue生命周期,数据,手动挂载,指令,过滤器
2017/04/19 Javascript
Angular 4.X开发实践中的踩坑小结
2017/07/04 Javascript
js canvas实现简单的图像扩散效果
2020/06/28 Javascript
vue使用axios时关于this的指向问题详解
2017/12/22 Javascript
原生js实现each方法实例代码详解
2019/05/27 Javascript
微信小程序实现录音功能
2019/11/22 Javascript
js基于canvas实现时钟组件
2021/02/07 Javascript
跟老齐学Python之玩转字符串(2)更新篇
2014/09/28 Python
深入理解python对json的操作总结
2017/01/05 Python
django利用request id便于定位及给日志加上request_id
2018/08/26 Python
详解Django中异步任务之django-celery
2020/11/05 Python
python实现简单猜单词游戏
2020/12/24 Python
德国童装购物网站:NICKI´S.com
2018/04/20 全球购物
英国在线照明超市:Castlegate Lights
2019/10/30 全球购物
如何用JQuery进行表单验证
2013/05/29 面试题
大连星海广场导游词
2015/02/10 职场文书
广告公司文案策划岗位职责
2015/04/14 职场文书
小学语文的各类谚语(70首)
2019/08/15 职场文书
go语言中GOPATH GOROOT的作用和设置方式
2021/05/05 Golang
python 实现两个变量值进行交换的n种操作
2021/06/02 Python
简单介绍Python的第三方库yaml
2021/06/18 Python
Oracle中日期的使用方法实例
2022/07/07 Oracle
Python docx库删除复制paragraph及行高设置图片插入示例
2022/07/23 Python