萌王利姆露 发表于 2022-12-26 19:45:15

为什么这里调用函数不成功啊?

![屏幕截图(57).png](data/attachment/forum/202212/26/194506p1cm2m9cqd88o12c.png)

李恒道 发表于 2022-12-26 19:45:16

萌王利姆露 发表于 2022-12-26 20:26
代码本体就是这样的,我不会截长图哈哈

      // 简易计算器


switch (parseInt(choice))
这里要parseInt
其他加法函数同理

李恒道 发表于 2022-12-26 20:10:28

贴代码最好贴全
可以试试codepen之类的
或者在帖子打个压缩包传上来

这样没人能看出来啥问题的
还有就是函数命名风格比较差
推荐用英文命名

萌王利姆露 发表于 2022-12-26 20:26:43

李恒道 发表于 2022-12-26 20:10
贴代码最好贴全
可以试试codepen之类的
或者在帖子打个压缩包传上来


代码本体就是这样的,我不会截长图哈哈
<script>
      // 简易计算器
      function jiafa()
      {
      var a=prompt('请输入第一个数'),
      b=prompt('请输入第二个数');
      var sum=a+b;
      alert('它们的和为:'+sum);
      }
      function jianfa()
      {
      var a=prompt('请输入第一个数'),
      b=prompt('请输入第二个数');
      var Subtraction=a-b;
      alert('它们的差为'+Subtraction);
      }
      function chengfa()
      {
      var a=prompt('请输入第一个数'),
      b=prompt('请输入第二个数');
      multiplication=a*b;
      alert('它们的积为'+multiplication);
      }
      function chufa()
      {
      var a=prompt('请输入第一个数'),
      b=prompt('请输入第二个数');
      division=a/b;
      alert('它们的商为'+ division);
      }
      var str='欢迎使用简易计算器\n1.加法运算\n2.减法运算\n3.乘法运算\n4.除法运算\n5.退出\n';
      //while(choice!=5)
   {
      var choice=prompt(str+'请选择:');
      switch(choice)
      {
      case 1:
          jiafa();
      break;
      case 2:
          jianfa();
      break;
      case 3:
          chengfa();
      break;
      case 4:
          chufa();
      break;
      case 5:break;
      }
   }
    </script>

李恒道 发表于 2022-12-26 20:36:18

萌王利姆露 发表于 2022-12-26 20:26
代码本体就是这样的,我不会截长图哈哈

      // 简易计算器


    function jiafa() {
      var a = prompt("请输入第一个数"),
      b = prompt("请输入第二个数");
      var sum = a + b;
      alert("它们的和为:" + sum);
    }
    function jianfa() {
      var a = prompt("请输入第一个数"),
      b = prompt("请输入第二个数");
      var Subtraction = a - b;
      alert("它们的差为" + Subtraction);
    }
这种都是属于一个模式的,可以抽象成工厂代码

    function generateEvalFunc(name = "和", char = "-") {
      return function () {
      var a = prompt("请输入第一个数"),
          b = prompt("请输入第二个数");
      var sum = new Function("a", "b", "return a " + char + " b")(a, b);
      alert("它们的" + name + "为:" + sum);
      };
    }
add_func=generateEvalFunc('和','+')
add_func()

萌王利姆露 发表于 2022-12-26 20:44:49

李恒道 发表于 2022-12-26 20:36
function jiafa() {
      var a = prompt("请输入第一个数"),
      b = prompt("请输入第二个数" ...

我测,这么高级{:4_86:}

李恒道 发表于 2022-12-26 20:59:44

萌王利姆露 发表于 2022-12-26 20:44
我测,这么高级

学js全程全复杂的就是学抽象那点玩应了
页: [1]
查看完整版本: 为什么这里调用函数不成功啊?