简易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和css代码压缩工具[附JAVA环境配置方法]
Apr 16 Javascript
一些javascript一些题目的解析
Dec 25 Javascript
Jquery 模拟用户点击超链接或者按钮的方法
Oct 25 Javascript
从js向Action传中文参数出现乱码问题的解决方法
Dec 29 Javascript
js继承call()和apply()方法总结
Dec 08 Javascript
js对字符的验证方法汇总
Feb 04 Javascript
js创建对象的方法汇总
Jan 07 Javascript
jQuery实现点击弹出背景变暗遮罩效果实例代码
Jun 24 Javascript
Angular 输入框实现自定义验证功能
Feb 19 Javascript
Javascript继承机制详解
May 30 Javascript
jQuery实现弹窗下底部页面禁止滑动效果
Dec 19 jQuery
TypeScript魔法堂之枚举的超实用手册
Oct 29 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
PHP文本操作类
2006/11/25 PHP
第六章 php目录与文件操作
2011/12/30 PHP
php命名空间学习详解
2014/02/27 PHP
php实现简单的上传进度条
2015/11/17 PHP
php伪静态验证码不显示的解决方案
2019/09/26 PHP
关于IE7 IE8弹出窗口顶上
2008/12/22 Javascript
用jquery生成二级菜单的实例代码
2013/06/24 Javascript
JavaScript异步编程Promise模式的6个特性
2014/04/03 Javascript
纯JavaScript实现的兼容各浏览器的添加和移除事件封装
2015/03/28 Javascript
JS去除iframe滚动条的方法
2015/04/01 Javascript
js实现滑动到页面底部自动加载更多功能
2017/02/15 Javascript
关于axios不能使用Vue.use()浅析
2018/01/12 Javascript
JavaScript类的继承操作实例总结
2018/12/20 Javascript
详解VUE里子组件如何获取父组件动态变化的值
2018/12/26 Javascript
node.js文件操作系统实例详解
2019/11/05 Javascript
vue自定义标签和单页面多路由的实现代码
2020/05/03 Javascript
VUE使用 wx-open-launch-app 组件开发微信打开APP功能
2020/08/11 Javascript
JS实现购物车基本功能
2020/11/08 Javascript
python中的json总结
2018/10/11 Python
Python的iOS自动化打包实例代码
2018/11/22 Python
Python Pandas分组聚合的实现方法
2019/07/02 Python
基于python实现雪花算法过程详解
2019/11/16 Python
增大python字体的方法步骤
2020/07/05 Python
python 删除excel表格重复行,数据预处理操作
2020/07/06 Python
python判断一个变量是否已经设置的方法
2020/08/13 Python
西班牙手机之家:Phone House
2018/10/18 全球购物
法国二手MacBook销售网站:Okamac
2019/03/18 全球购物
美国最佳选择产品网站:Best Choice Products
2019/05/27 全球购物
俄罗斯珠宝市场的领导者之一:Бронницкий ювелир
2019/10/02 全球购物
"引用"与指针的区别是什么
2016/09/07 面试题
完美实现CSS垂直居中的11种方法
2021/03/27 HTML / CSS
技术学校毕业生求职信分享
2013/12/02 职场文书
经典演讲稿开场白
2014/08/25 职场文书
县长“四风”对照检查材料思想汇报
2014/10/05 职场文书
2014年材料员工作总结
2014/11/19 职场文书
windows server 2016 域环境搭建的方法步骤(图文)
2022/06/25 Servers