JavaScript_03 超简计算器

版本一:

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>计算器</title>
    <script type="text/javascript">
        function add(){
            let num1 = document.getElementById("number1").value;
            let num2 = document.getElementById("number2").value;
            if(num1 == ""){
                alert("数字1不能为空");
                return;
            }
            if (isNaN(num1)){
                alert("数字1输入错误");
                return;
            }
            if(num2 == ""){
                alert("数字2不能为空");
                return;
            }
            if (isNaN(num2)){
                alert("数字2输入错误");
                return;
            }
            let num3 = parseInt(num1) + parseInt(num2);
            document.getElementById("result").value = num3;
        }
        function minus(){

            let num1 = document.getElementById("number1").value;
            let num2 = document.getElementById("number2").value;
            if(num1 == ""){
                alert("数字1不能为空");
                return;
            }
            if (isNaN(num1)){
                alert("数字1输入错误");
                return;
            }
            if(num2 == ""){
                alert("数字2不能为空");
                return;
            }
            if (isNaN(num2)){
                alert("数字2输入错误");
                return;
            }
            let num3 = parseInt(num1) - parseInt(num2);
            document.getElementById("result").value = num3;
        }
        function multiplication(){
            let num1 = document.getElementById("number1").value;
            let num2 = document.getElementById("number2").value;
            if(num1 == ""){
                alert("数字1不能为空");
                return;
            }
            if (isNaN(num1)){
                alert("数字1输入错误");
                return;
            }
            if(num2 == ""){
                alert("数字2不能为空");
                return;
            }
            if (isNaN(num2)){
                alert("数字2输入错误");
                return;
            }
            let num3 = parseInt(num1) * parseInt(num2);
            document.getElementById("result").value = num3;
        }
        function divide(){
            let num1 = document.getElementById("number1").value;
            let num2 = document.getElementById("number2").value;
            if(num1 == ""){
                alert("数字1不能为空");
                return;
            }
            if (isNaN(num1)){
                alert("数字1输入错误");
                return;
            }
            if(num2 == ""){
                alert("数字2不能为空");
                return;
            }
            if (isNaN(num2)){
                alert("数字2输入错误");
                return;
            }

            if (num2 == 0){
            alert("被除数不能为0")
            return;
          }
            let num3 = parseInt(num1) / parseInt(num2);
            document.getElementById("result").value = num3;

        }
        function remainder(){
            let num1 = document.getElementById("number1").value;
            let num2 = document.getElementById("number2").value;
            if(num1 == ""){
                alert("数字1不能为空");
                return;
            }
            if (isNaN(num1)){
                alert("数字1输入错误");
                return;
            }
            if(num2 == ""){
                alert("数字2不能为空");
                return;
            }
            if (isNaN(num2)){
                alert("数字2输入错误");
                return;
            }
            let num3 = parseInt(num1) % parseInt(num2);
            document.getElementById("result").value = num3;
        }
    </script>
</head>
<body>
数字1:<input type="text" id="number1"><br>
数字2:<input type="text" id="number2"><br>
<input type="button" value="加" id="add" onclick="add()">
<input type="button" value="减" id="minus" onclick="minus()">
<input type="button" value="乘" id="multiplication" onclick="multiplication()">
<input type="button" value="除" id="divide" onclick="divide()">
<input type="button" value="取余" id="remainder" onclick="remainder()"><br>
结果:<input type="text" id = "result">


</body>
</html>

结果演示:

版本二:

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>计算器</title>
  <script type="text/javascript">
    function checkData(){
      let num1 = document.getElementById("number1").value;
      let num2 = document.getElementById("number2").value;
      if(num1 == ""){
        alert("数字1不能为空");
        return false;
      }
      if (isNaN(num1)){
        alert("数字1输入错误");
        return false;
      }
      if(num2 == ""){
        alert("数字2不能为空");
        return false;
      }
      if (isNaN(num2)){
        alert("数字2输入错误");
        return false;
      }
      return true;
    }

    function run(choose){
      if (!checkData()){return;}
      let num1 = parseInt(document.getElementById("number1").value);
      let num2 = parseInt(document.getElementById("number2").value);
      let num3;
      switch (choose){
        case '加':
          num3 = num1 + num2;
          break;
        case '减':
          num3 = num1 - num2;
          break;
        case '乘':
          num3 = num1 * num2;
          break;
        case '除':
            if (num2 == 0){
            alert("被除数不能为0")
            return;
          }
          num3 = num1 / num2;
          break;
        case '取余':
          num3 = num1 % num2;
          break;
      }
      document.getElementById("result").value = num3;
    }
  </script>
</head>
<body>
数字1:<input type="text" id="number1"><br>
数字2:<input type="text" id="number2"><br>
<input type="button" value="加" id="add" onclick="run('加')">
<input type="button" value="减" id="minus" onclick="run('减')">
<input type="button" value="乘" id="multiplication" onclick="run('乘')">
<input type="button" value="除" id="divide" onclick="run('除')">
<input type="button" value="取余" id="remainder" onclick="run('取余')"><br>
结果:<input type="text" id = "result">
</body>
</html>

效果同上

相关推荐
IT_陈寒2 分钟前
用了Vue的动态组件之后,我被坑得找不着北
前端·人工智能·后端
阳火锅32 分钟前
💡 告别类名地狱!Tailwind CSS 语义化转换神器来了
前端·css·vue.js
ricardo197334 分钟前
Core Web Vitals 全解:LCP / INP / CLS 逐个击破
前端
VillenK36 分钟前
版本依赖问题:vite-plugin-dts@3.1.0 与 jiti 的兼容性
前端·typescript·vite
Apifox1 小时前
如何在 Apifox 中快速构建和调试 AI Agent
前端·agent·ai编程
一晌贪欢i1 小时前
WebContainer 重点介绍
前端·webcontainer
山河木马1 小时前
Emscripten 从 C/C++ 调用 JavaScript
前端·javascript·c++
鹏程十八少1 小时前
12. Android 协程通关秘籍:31 道资深工程师面试题精讲
前端·后端·面试
Dlrb12112 小时前
C语言-字符串指针与函数指针
java·c语言·前端
PBitW2 小时前
组件封装注意事项
前端·vue.js