uo7012 2021-09-29 14:34 采纳率: 100%
浏览 103
已结题

使用JS制作的简易计算器为什么运行没有反应呢

这段代码哪里有问题嘞


<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <script>
        var oNum1=document.getElementById("num1");
        var oNum2=document.getElementById("num2");
        var oOper=document.getElementById("operator");
        var oOk=document.getElementById("ok");
        var res="";
        oOk.onclick=function(){
            var num1=parseFloat(oNum1.value);
            var num2=parseFloat(oNum2.value);
            var oper=oOper.value;
            if(num1&num2){
                switch(oper){
                    case"+":res=num1+num2;break;
                    case"-":res=num1-num2;break;
                    case"*":res=num1*num2;break;
                    case"/":res=num1/num2;break;
                    }
            }else{
                res="请输入不为0的数值";
                }
                document.getElementById('result').value=res;
        }
        </script>
    </head>
    <body>
        <h3>简易计算器</h3>
        <form>
            <input type="text"size="5"id="num1"value""/>
            <select id="operator">
                <option value="+"selected="selected">+<option>
                <option value="-">-</option>
                <option value="*">*</option>
                <option value="/">/</option>
            </select>
            <input type="text"size="5"id="num2"value=""/>
            <input type="button"value="=" id="ok"/>
            <input type="text" size="16"id="result"readonly="true"/>
        </form>
    </body>
</html>

  • 写回答

3条回答 默认 最新

  • CSDN专家-微编程 2021-09-29 15:01
    关注

    其实你错就错在位置放错了,如果放在head里面,则js代码需要放到

    window.onload = function (){ 
    js代码
    }
    

    当然你放到body标签里面和下面都可以
    其次就是你的逻辑判断写错了if里面且是两个&,你却写成了一个,你可以运行结果就是这样

    img


    两个&&就正常了,代码如下

    img

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 5月21日
  • 已采纳回答 5月13日
  • 创建了问题 9月29日

悬赏问题

  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题