简易js代码实现计算器操作


Posted in Javascript onApril 15, 2013
<html>

<head>

<title>JS版计算器</title>

<link rel="stylesheet" type="text/css" href="">

<meta http-equiv="content-type" content="text/html;charset=utf-8">

<!--js代码可以放置在任意位置,按照先后顺序依次执行 一般放在head标签之间-->

<script type="text/javascript">
    /* 定义一个Calculator类*/

    function Calculator(){

        

        this.jisuan=function(num1,num2,oper){

            var res=0;

            switch(oper){

                case "+":

                    res=num1+num2;

                    break;

                case "-":

                    res=num1-num2;

                    break;

                case "*":

                    res=num1*num2;

                    break;

                case "/":

                    res=num1/num2;

                    break;

            }

            return res;

        }

    }

    //创建对象

    var calculator=new Calculator();
    /*定义全局变量*/

    var val=0; //放置输入的值

    var xval=0;//保存转换Number类型的值

    var temp=0; //保存第一次输入的值    

    var oper="";//保存输入的操作符
    /*获取输入数字*/

    function inputEvent(e){

    

        val=e.value

        var xsval=document.getElementById("inp1");        

        xsval.value+=val; //连续输入数字(String类型)

        //转换Number类型

        xval=parseFloat(xsval.value);

        

    }
    /*获取第一行的数据*/

    function inputPCB(e){

        //window.alert(e.value);

        var xsval=document.getElementById("inp1");

        if(e.value=="Clear"){

            xsval.value="";

        }else if(e.value=="Back"){

            /*这个功能还没有实现,有兴趣的朋友可以自己做一做*/
        }else if(e.value=="POWER"){

            //计算平方

            xsval.value=Math.pow(xsval.value,2);            

        }

    }
    /*输入操作符*/

    function inputOper(e){
        oper=e.value;

        //window.alert(typeof oper);

        //oper=oper.substr(0);

        if (e.value=="+"){

            var xsval=document.getElementById("inp1");

            //保存上次计算结果,并对字符串进行转换Number类型

            temp=parseFloat(xsval.value);

            //第一次输入的值设置为空

            xsval.value="";                        

        }else if(e.value=="-"){

            var xsval=document.getElementById("inp1");

            temp=parseFloat(xsval.value);

            xsval.value="";

        }else if(e.value=="*"){

            var xsval=document.getElementById("inp1");

            temp=parseFloat(xsval.value);

            xsval.value="";

        }else if(e.value=="/"){

            var xsval=document.getElementById("inp1");

            temp=parseFloat(xsval.value);

            xsval.value="";

        }

    }
    /*计算结果*/

    function inputEquel(e){
        var xsval=document.getElementById("inp1");        

        if(e.value=="="){

            //window.alert(xval);

            //调用对象方法

            xsval.value=calculator.jisuan(temp,xval,oper);

        }

    }

</script>

<!--css 样式-->

<style>

    input{

        width:60px;

    }

    #inp1{

        width:280px;

        text-align:right;

    }

</style>

</head>

<body>

    <table border="1">

        <!--显示结果行-->

        <tr><td colspan="4"><input id="inp1" type="text" value="" name="xianshi"/></td></tr>

        

        <!--第一行-->

        <tr><td><input type="button" value="POWER" onclick="inputPCB(this)"/></td><td><input type="button" value="Clear" onclick="inputPCB(this)"/></td><td><input type="button" value="Back"onclick="inputPCB(this)"/></td><td></td></tr>

        <!--第二行-->

        <tr><td><input type="button" value="1" onclick="inputEvent(this)"/></td><td><input type="button" value="2" onclick="inputEvent(this)"/></td><td><input type="button"value="3" onclick="inputEvent(this)"/></td><td><input type="button" value="4" onclick="inputEvent(this)"/></td></tr>

        <!--第三行-->

        <tr><td><input type="button" value="5" onclick="inputEvent(this)"/></td><td><input type="button" value="6" onclick="inputEvent(this)"/></td><td><input type="button"value="7" onclick="inputEvent(this)"/></td><td><input type="button" value="8" onclick="inputEvent(this)"/></td></tr>    

        <!--第四行-->

        <tr><td><input type="button" value="9" onclick="inputEvent(this)"/></td><td><input type="button" value="0" onclick="inputEvent(this)"/></td><td><input type="button"value="." onclick="inputEvent(this)"/></td><td><input type="button" value="=" onclick="inputEquel(this)"/></td></tr>

        <!--第五行-->

        <tr><td><input type="button" value="+" onclick="inputOper(this)"/></td><td><input type="button" value="-" onclick="inputOper(this)"/></td><td><input type="button"value="*" onclick="inputOper(this)"/></td><td><input type="button" value="/" onclick="inputOper(this)"/></td></tr>    

    

    </table>

</body>

</html>

简易js代码实现计算器操作

Javascript 相关文章推荐
计算世界完全对称日的js代码,粗糙版
Nov 04 Javascript
基于JQuery的多标签实现代码
Sep 19 Javascript
js取得url地址参数实例
Feb 22 Javascript
Javascript实现滑块滑动改变值的实现代码
Apr 12 Javascript
jQuery+PHP+MySQL实现无限级联下拉框效果
Feb 19 Javascript
详解angularJs模块ui-router之状态嵌套和视图嵌套
Apr 28 Javascript
jquery append与appendTo方法比较
May 24 jQuery
浅谈angular2 组件的生命周期钩子
Aug 12 Javascript
Layui给数据表格动态添加一行并跳转到添加行所在页的方法
Aug 20 Javascript
每个 JavaScript 工程师都应懂的33个概念
Oct 22 Javascript
javascript json字符串到json对象转义问题
Jan 22 Javascript
extract-text-webpack-plugin用法详解
Feb 14 Javascript
JS中 用户登录系统的解决办法
Apr 15 #Javascript
JS中批量给元素绑定事件过程中的相关问题使用闭包解决
Apr 15 #Javascript
JS 模态对话框和非模态对话框操作技巧汇总
Apr 15 #Javascript
jquery获得页面元素的坐标值实现思路及代码
Apr 15 #Javascript
Extjs优化(二)Form表单提交通用实现
Apr 15 #Javascript
ANT 压缩(去掉空格/注释)JS文件可提高js运行速度
Apr 15 #Javascript
Extjs优化(一)删除冗余代码提高运行速度
Apr 15 #Javascript
You might like
在windows iis5下安装php4.0+mysql之我见
2006/10/09 PHP
推荐十款免费 WordPress 插件
2015/03/24 PHP
PHP整合七牛实现上传文件
2015/07/03 PHP
关于laravel 子查询 &amp; join的使用
2019/10/16 PHP
jquery中常用的SET和GET
2009/01/13 Javascript
jquery关于图形报表的运用实现代码
2011/01/06 Javascript
js中return false(阻止)的用法
2013/08/14 Javascript
jQuery的DOM操作之删除节点示例
2014/01/03 Javascript
如何在MVC应用程序中使用Jquery
2014/11/17 Javascript
使用Promise解决多层异步调用的简单学习心得
2016/05/17 Javascript
所见即所得的富文本编辑器bootstrap-wysiwyg使用方法详解
2016/05/27 Javascript
canvas的神奇用法
2017/02/03 Javascript
详解微信小程序设置底部导航栏目方法
2017/06/29 Javascript
简单谈谈JS中的正则表达式
2017/09/11 Javascript
ES6中的Promise代码详解
2017/10/09 Javascript
bootstrap日期插件daterangepicker使用详解
2017/10/19 Javascript
JavaScript继承定义与用法实践分析
2018/05/28 Javascript
Nuxt.js SSR与权限验证的实现
2018/11/21 Javascript
vue实现的树形结构加多选框示例
2019/02/02 Javascript
js利用递归与promise 按顺序请求数据的方法
2019/08/30 Javascript
基于Vue 撸一个指令实现拖拽功能
2019/10/09 Javascript
pygame学习笔记(5):游戏精灵
2015/04/15 Python
Python实现简易端口扫描器代码实例
2017/03/15 Python
python os用法总结
2018/06/08 Python
python中使用input()函数获取用户输入值方式
2020/05/03 Python
python实现简单猜单词游戏
2020/12/24 Python
香港莎莎官网Sasa.com:亚洲著名国际化妆品商城
2019/11/10 全球购物
DIY手工制作经营店创业计划书
2014/02/01 职场文书
应届毕业生应聘自荐信范文
2014/02/26 职场文书
会计求职信范文
2014/05/24 职场文书
中国梦口号
2014/06/13 职场文书
2014年秋季新学期寄语
2014/08/02 职场文书
2014超市双十一活动策划方案
2014/09/29 职场文书
2014财务部年度工作总结
2014/12/08 职场文书
2015年初一班主任工作总结
2015/05/13 职场文书
2015年高校保卫处工作总结
2015/07/23 职场文书