利用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 相关文章推荐
[转]JS宝典学习笔记
Feb 07 Javascript
javaScript 判断字符串是否为数字的简单方法
Jul 25 Javascript
JQuery插件Style定制化方法的分析与比较
May 03 Javascript
js模拟点击事件实现代码
Nov 06 Javascript
JavaScript等比例缩放图片控制超出范围的图片
Aug 06 Javascript
IE8 内存泄露(内存一直增长 )的原因及解决办法
Apr 06 Javascript
详解node HTTP请求客户端 - Request
May 05 Javascript
Angular中使用MathJax遇到的一些问题
Dec 15 Javascript
详解最新vue-cli 2.9.1的webpack存在问题
Dec 16 Javascript
使用express+multer实现node中的图片上传功能
Feb 02 Javascript
jsonp跨域及实现百度首页联想功能的方法
Aug 30 Javascript
js字符串处理之绝妙的代码
Apr 05 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
set_include_path在win和linux下的区别
2008/01/10 PHP
php 带逗号千位符数字的处理方法
2012/01/10 PHP
PHP之密码加密的几种方式
2015/07/29 PHP
php用正则判断是否为数字的方法
2016/03/25 PHP
PHP基于MySQLI函数封装的数据库连接工具类【定义与用法】
2017/08/11 PHP
PHP中cookie知识点学习
2018/05/06 PHP
laravel5.6框架操作数据curd写法(查询构建器)实例分析
2020/01/26 PHP
PHP 自动加载类原理与用法实例分析
2020/04/14 PHP
javascript数组的扩展实现代码集合
2008/06/01 Javascript
Html中JS脚本执行顺序简单举例说明
2010/06/19 Javascript
extjs中grid中嵌入动态combobox的应用
2011/01/01 Javascript
Js 冒泡事件阻止实现代码
2013/01/27 Javascript
常用jQuery选择器总结
2014/07/11 Javascript
JavaScript常用的返回,自动跳转,刷新,关闭语句汇总
2015/01/13 Javascript
JavaScript显示当前文档最后修改日期的方法
2015/03/19 Javascript
jQuery选择器源码解读(三):tokenize方法
2015/03/31 Javascript
JavaScript判断数组重复内容的两种方法(推荐)
2016/06/06 Javascript
p5.js实现斐波那契螺旋的示例代码
2018/03/22 Javascript
mint-ui在vue中的使用示例
2018/04/05 Javascript
解决layui弹框失效的问题
2019/09/09 Javascript
python使用beautifulsoup从爱奇艺网抓取视频播放
2014/01/23 Python
介绍Python中几个常用的类方法
2015/04/08 Python
python实用代码片段收集贴
2015/06/03 Python
如何利用python给图片添加半透明水印
2019/09/06 Python
python使用numpy实现直方图反向投影示例
2020/01/17 Python
pycharm运行程序时看不到任何结果显示的解决
2020/02/21 Python
基于python实现检索标记敏感词并输出
2020/05/07 Python
Python使用Pygame绘制时钟
2020/11/29 Python
HTML5文档结构标签
2017/04/21 HTML / CSS
size?丹麦官网:英国伦敦的球鞋精品店
2019/04/15 全球购物
德国拖鞋网站:German Slippers
2019/11/08 全球购物
新学期校长寄语
2014/01/18 职场文书
陈欧广告词
2014/03/14 职场文书
行政人事专员岗位职责
2015/04/07 职场文书
婚礼长辈答谢词
2015/09/29 职场文书
小学六年级班主任工作经验交流材料
2015/11/02 职场文书