javascript实现简单计算器

本文介绍如何使用JavaScript实现一个简单的计算器。通过这个小实例,可以加深对JavaScript语言基础的理解。

利用javascript实现一个简单的计算器

只需要简单的html知识和一些javascript知识

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>无标题文档</title>
</head>

<body>
<div>
    <input type="text" size="5" id="num1" value=""/> //弄一个简单的输入框num1
    <select id="ysf"> //创建选择列表
        <option value="+">+</option> //将运算符号加入到选择框里
        <option value="-">-</option>
        <option value="*">*</option>
        <option value="/">/</option>
        <option value="%">%</option>
    </select>
    <input type="text" size="5" id="num2" value=""/> //再弄一个输入框num2
    <input type="button" id="btn" value="计算"/> //做一个计算按钮
</div>
<p id="res">请输入运算的数</p>//显示框

<script>
    document.getElementById('btn').onclick=function(){//给按钮绑定点击事件
        var num1=document.getElementById('num1').value;//把num1里输入的值赋值到script里创建的变量里
        var num2=document.getElementById('num2').value;//把num2里输入的值赋值到script里创建的变量里
        var ysf=document.getElementById('ysf').value;//把ysf里选择的符号的值赋值到script里创建的变量里

        var result="ERROR:";//输出值,暂时置ERROR,之后将运算结果赋值到这里
        var flag=true;//立一个布尔值作为验证用
        if(num1==""){//如果第一个数为空,布尔值否
            result+="第一个运算数为空#"
            flag=false;
        }else{
            if(isNaN(num1)){//如果输入的值非数字,布尔值否。isNAN()函数用于检查其参数是否是非数字值。
                result+="第一个运算元不是有效的数字#"
                flag=false;
            }
        }

        if(num2==""){
            result+="第二个运算数为空#"
            flag=false;
        }else{
            if(isNaN(num2)){
                result+="第二个运算元不是有效的数字#"
                flag=false;
            }
        }

        num1=parseFloat(num1);//parseFloat() 函数可解析一个字符串,并返回一个浮点数。将输入的值转为数字型
        num2=parseFloat(num1);
        if(flag){
            switch(ysf){//此处利用switch循环实现不同符号下的四则运算
                case'+':result="运算结果"+num1+"+"+num2+"="+(num1+num2);break;
                case'-':result="运算结果"+num1+"-"+num2+"="+(num1-num2);break;
                case'*':result="运算结果"+num1+"*"+num2+"="+(num1*num2);break;
                case'/'://除法需要判断除数是否为0
                    if(num2==0){
                        result="除数不能为0"
                    }else{
                        result="运算结果"+num1+"/"+num2+"="+(num1/num2);
                    }
                    break;
                case'%'://取余也需要判断除数是否为0
                    if(num2==0){
                        result="除数不能为0"
                    }else{
                        result="运算结果"+num1+"%"+num2+"="+(num1%num2);
                    }
                    break;
            }

        }

        document.getElementById('res').innerHTML=result;//将result赋值到html里res标签中
    };
</script>
</body>
</html>

代码结果:
在这里插入图片描述

很简单的小例子,有助于对javascript的理解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值