利用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 option location 页面跳转实现代码
Dec 27 Javascript
js调用webservice中的方法实现思路及代码
Feb 25 Javascript
基于jquery的网站幻灯片切换效果焦点图代码
Sep 15 Javascript
JavaScript中变量声明有var和没var的区别示例介绍
Sep 15 Javascript
Bootstrap精简教程中秋大放送
Sep 15 Javascript
jQuery Mobile和HTML5开发App推广注册页
Nov 07 Javascript
JS实现标签页切换效果
May 04 Javascript
js实现轮播图的两种方式(构造函数、面向对象)
Sep 30 Javascript
Vue组件之单向数据流的解决方法
Nov 10 Javascript
使用react render props实现倒计时的示例代码
Dec 06 Javascript
vue+elementui 对话框取消 表单验证重置示例
Oct 29 Javascript
vue 对axios get pust put delete封装的实例代码
Jan 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
php反弹shell实现代码
2009/04/22 PHP
php根据分类合并数组的方法实例详解
2013/11/06 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
Laravel 修改验证异常的响应格式实例代码详解
2020/05/25 PHP
Packer 3.0 JS压缩及混淆工具 下载
2007/05/03 Javascript
lib.utf.js
2007/08/21 Javascript
jquery获取iframe中的dom对象(两种方法)
2013/07/02 Javascript
判断javascript的数据类型(示例代码)
2013/12/11 Javascript
chrome下jq width()方法取值为0的解决方法
2014/05/26 Javascript
JS实现定时自动关闭DIV层提示框的方法
2015/05/11 Javascript
javascript实现五星评分功能
2015/11/10 Javascript
javascript字符串函数汇总
2015/12/06 Javascript
JavaScript实现256色转灰度图
2017/02/22 Javascript
Angualrjs 表单验证的两种方式(失去焦点验证和点击提交验证)
2017/05/09 Javascript
vue component组件使用方法详解
2017/07/14 Javascript
Vue 莹石摄像头直播视频实例代码
2018/08/31 Javascript
Vue传参一箩筐(页面、组件)
2019/04/04 Javascript
vue数据初始化initState的实例详解
2019/04/11 Javascript
详解为什么Vue中不要用index作为key(diff算法)
2020/04/04 Javascript
[01:52]DOTA2完美大师赛Vega战队趣味视频——kpii老师小课堂
2017/11/25 DOTA
[28:48]《真视界》- 2017年国际邀请赛
2017/09/27 DOTA
python的scikit-learn将特征转成one-hot特征的方法
2018/07/10 Python
对PyQt5中树结构的实现方法详解
2019/06/17 Python
浅谈PyTorch中in-place operation的含义
2020/06/27 Python
python dict如何定义
2020/09/02 Python
python基于exchange函数发送邮件过程详解
2020/11/06 Python
美国领先的男士和女士内衣购物网站:Freshpair
2019/02/25 全球购物
Brydge英国:适用于Apple iPad和Microsoft Surface Pro的蓝牙键盘
2019/05/16 全球购物
客服服务心得体会
2013/12/30 职场文书
教师个人剖析材料
2014/02/05 职场文书
父亲的菜园教学反思
2014/02/13 职场文书
土木工程师职业规划范文
2014/03/07 职场文书
董事长秘书工作职责
2014/06/10 职场文书
办理信用卡工作证明
2014/09/30 职场文书
党员心得体会范文2016
2016/01/23 职场文书
曾国藩励志经典名言37句,蕴含哲理
2019/10/14 职场文书