利用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 相关文章推荐
可缩放Reloaded-一个针对可缩放元素的复用组件
Mar 10 Javascript
javascript数组使用调用方法汇总
Dec 08 Javascript
获取HTML DOM节点元素的方法的总结
Aug 21 Javascript
jquery 循环显示div的示例代码
Oct 18 Javascript
用JQuery实现全选与取消的两种简单方法
Feb 22 Javascript
原生js配合cookie制作保存路径的拖拽
Dec 29 Javascript
Google 地图获取API Key详细教程
Aug 06 Javascript
vue实现列表的添加点击
Dec 29 Javascript
underscore之function_动力节点Java学院整理
Jul 11 Javascript
vue+mock.js实现前后端分离
Jul 24 Javascript
浅谈vuex中store的命名空间
Nov 08 Javascript
JavaScript嵌入百度地图API的最详细方法
Apr 16 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
Zend的MVC机制使用分析(一)
2013/05/02 PHP
php实现向javascript传递数组的方法
2015/07/27 PHP
PHP中使用GD库绘制折线图 折线统计图的绘制方法
2015/11/09 PHP
php实现不通过扩展名准确判断文件类型的方法【finfo_file方法与二进制流】
2017/04/18 PHP
PHP实现一个限制实例化次数的类示例
2019/09/16 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
CheckBox 如何实现全选?
2006/06/23 Javascript
IE8 兼容性问题(属性名区分大小写)
2009/06/04 Javascript
javascript 特性检测并非浏览器检测
2010/01/15 Javascript
Javascript 面向对象 继承
2010/05/13 Javascript
jQuery随机切换图片的小例子
2013/04/18 Javascript
使用jQuery内容过滤选择器选择元素实例讲解
2013/04/18 Javascript
js中parseInt函数浅谈
2013/07/31 Javascript
jQuery实现带动画效果的多级下拉菜单代码
2015/09/08 Javascript
JavaScript字符串常用的方法
2016/03/10 Javascript
jQuery插件扩展操作入门示例
2017/01/16 Javascript
jQuery序列化后的表单值转换成Json
2017/06/16 jQuery
微信小程序上传图片到服务器实例代码
2017/11/07 Javascript
Angular6 用户自定义标签开发的实现方法
2019/01/08 Javascript
NodeJs实现简易WEB上传下载服务器
2019/08/10 NodeJs
vue中activated的用法
2021/01/03 Vue.js
浅谈python多线程和队列管理shell程序
2015/08/04 Python
python中安装Scrapy模块依赖包汇总
2017/07/02 Python
Python实现京东秒杀功能代码
2019/05/16 Python
Python3.6+Django2.0以上 xadmin站点的配置和使用教程图解
2019/06/04 Python
python爬虫 urllib模块反爬虫机制UA详解
2019/08/20 Python
Python tkinter 下拉日历控件代码
2020/03/04 Python
HTML5拖拽功能实现的拼图游戏
2018/07/31 HTML / CSS
美国第一个网上卖鞋零售商:OnlineShoes.com
2017/09/24 全球购物
美国棒球装备和用品商店:Baseball Savings
2018/06/09 全球购物
西部世纪.net笔试题面试题
2014/04/03 面试题
抗震救灾标语
2014/06/26 职场文书
实习生矿工检讨书
2014/10/13 职场文书
社区灵活就业证明
2014/11/03 职场文书
CSS3新特性详解(五):多列columns column-count和flex布局
2021/04/30 HTML / CSS
Android学习之BottomSheetDialog组件的使用
2022/06/21 Java/Android