繁体   English   中英

Javascript 计算器 JS - 切换案例

[英]Javascript Calculator JS - Switch Case

我不明白为什么这个案例不起作用

var a, b;

a = 0;
b = 0


function Calculatrice(a, b, op) {

  switch (op) {

    alert("Choisissez votre opérateur: ");

    case '+':
      return a + b
      break;
    case '-':
      return a - b
      break;
    case '*':
      return a * b
      break;
    case '/':
      return a / b
      break;

      alert("Voici la valeur finale:");
  }

}

Calculatrice(5, 5, +);

我已经查看了您的代码,这些是对您的代码所做的更改以获得正确的结果: 1. 您的 switch 语句之间有悬空警报,这不是必需的。 2. 我删除了你的全局变量a,b因为在当前函数范围内不需要。 3. 您应该将操作作为string传递,因为这是 switch 语句中所期望的。

这是您的工作代码。

 function Calculatrice(a, b, op) { switch (op) { case '+': return a + b break; case '-': return a - b break; case '*': return a * b break; case '/': return a / b break; } } console.log(Calculatrice(5, 5, '+'));

 var a, b; a = 0; b = 0 function Calculatrice(a, b, op) { switch (op) { case '+': return a + b case '-': return a - b case '*': return a * b case '/': return a / b default: return "invalid arguments" } } var result = Calculatrice(5, 5, '+'); console.log("Voici la valeur finale: ", result); var result = Calculatrice(5, 5, '-'); console.log("Voici la valeur finale: ", result); var result = Calculatrice(5, 5, '*'); console.log("Voici la valeur finale: ", result); var result = Calculatrice(5, 5, '/'); console.log("Voici la valeur finale: ", result); var result = Calculatrice(5, 5, '%'); console.log("Voici la valeur finale: ", result);

  1. 去除switch体的alert

  2. 调用Calculatrice函数时,使用'+'而不是+

如果你想从用户那里得到操作符,像这样使用prompt()

 function Calculatrice(a, b, op) { switch (op) { case '+': return a + b break; case '-': return a - b break; case '*': return a * b break; case '/': return a / b break; } } op = prompt('Choisissez votre opérateur [ + - / * ] :'); var operators = ['+','-','/','*']; if ( operators.indexOf(op) !== -1 ) alert('Voici la valeur finale: ' + Calculatrice(5, 5, op) ) ; else alert("L'opérateur est mal!");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM