为什么switch语句不提供输出?

时间:2019-06-26 11:02:33

标签: javascript switch-statement

我对这句话有疑问,我不明白问题出在哪里

console.log(typeof moyen);
switch(moyen) {
    case (10 < moyen < 11.99):
    console.log("Acceptable");
    case (12 < moyen < 13):
    console.log("Souhaitable"); 
    case (14 < moyen < 15):
    console.log("Bien");
    case (moyen >= 16):
    console.log("Très bien");
    default:
    ("C'est pas un valide moyen !");
};

它没有任何输出,请先告诉我问题出在哪里

2 个答案:

答案 0 :(得分:4)

在丢失的break statement旁边,您可以采取较小的范围并退出。然后检查给定的较小值,最后默认使用更大的值。

switch(true) {
    case moyen <= 10:
        console.log("C'est pas un valide moyen !");
        break;
    case moyen < 12:
        console.log("Acceptable");
        break;
    case moyen < 13:
        console.log("Souhaitable"); 
        break;
    case moyen < 15:
        console.log("Bien");
        break;
    default:
        console.log("Très bien");
};

答案 1 :(得分:0)

您的代码中有一些错误

  1. 您的情况有条件,该条件将返回布尔值。所以你必须在开关中传递布尔值
  2. 您错过了休息声明
  3. 您错过了使用默认对帐单打印或执行任何操作

var moyen = 9;

switch(true) {
    case (10 < moyen && moyen < 11.99):
    console.log("Acceptable");
    break;
    case (12 < moyen && moyen < 13):
    console.log("Souhaitable"); 
    break;
    case (14 < moyen && moyen < 15):
    console.log("Bien");
    break;
    case (moyen >= 16):
    console.log("Très bien");
    break;
    default:
    console.log("C'est pas un valide moyen !");
};