Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Switch语句不执行相应的块_Javascript_Switch Statement_Console.log - Fatal编程技术网

Javascript Switch语句不执行相应的块

Javascript Switch语句不执行相应的块,javascript,switch-statement,console.log,Javascript,Switch Statement,Console.log,这是我的密码 var randomNumber = Math.ceil(100 * Math.random()); switch (randomNumber) { case (randomNumber < 20): console.log("The number is less than 20"); break; case (randomNumber => 20 && randomNumber < 50): console.log("T

这是我的密码

var randomNumber = Math.ceil(100 * Math.random());

switch (randomNumber) {
case (randomNumber < 20):
    console.log("The number is less than 20");
    break;
case (randomNumber => 20 && randomNumber < 50):
    console.log("The number is between 20 and 50");
    break;
case (randomNumber => 50 && randomNumber < 75):
    console.log("The number is between 50 and 75");
    break;
default:
    console.log("The number is greater than 75");
    break;
}

console.log(randomNumber);
var randomNumber=Math.ceil(100*Math.random());
开关(随机数){
病例(随机数<20):
console.log(“数量小于20”);
打破
案例(randomNumber=>20&&randomNumber<50):
console.log(“数字在20到50之间”);
打破
案例(randomNumber=>50&&randomNumber<75):
console.log(“数字在50到75之间”);
打破
违约:
console.log(“数量大于75”);
打破
}
控制台日志(随机编号);
第一部分简单地声明一个新绑定,并为其分配一个介于1和100之间的随机整数值

第二部分,switch语句,根据条件和randomNumber绑定的值发送特定消息

出于某种原因——我不知道为什么——它只执行与
default
关键字对应的代码。当然,它还执行最后一条语句,将绑定的值打印到浏览器控制台

我做错了什么?

使用a,您需要对照
true
进行检查

然后您只能检查上限,因为您已经检查了下限

var randomNumber=Math.ceil(100*Math.random());
开关(真){
病例数<20:
console.log(“数量小于20”);
打破
病例数<50:
console.log(“数字在20到50之间”);
打破
病例数<75:
console.log(“数字在50到75之间”);
打破
违约:
console.log(“数量大于75”);
打破
}
控制台日志(随机编号)使用,您需要对照
true
进行检查

然后您只能检查上限,因为您已经检查了下限

var randomNumber=Math.ceil(100*Math.random());
开关(真){
病例数<20:
console.log(“数量小于20”);
打破
病例数<50:
console.log(“数字在20到50之间”);
打破
病例数<75:
console.log(“数字在50到75之间”);
打破
违约:
console.log(“数量大于75”);
打破
}

控制台日志(随机编号)以下是对的描述。检查“这是如何工作的”下面的部分:……正如Nina提到的,您正在将
开关
视为if/else if条件阻塞。请理解Nina的建议。以下是对开关的描述。检查一下它是如何工作的:……正如尼娜提到的,你把
switch
当作if/else if条件阻塞来处理。请理解尼娜的建议。但实际上,如果是这样的情况,那么
if
可能是更好的结构。@ScottMarcus,这要看情况而定,如果只需要返回一个值,或者需要执行更多语句,……我实际上正在阅读雄辩的JavaScript,作者似乎暗示if语句和switch语句是可以互换的。似乎有更多的细微差别。谢谢你,尼娜!(:但实际上,如果是这样的情况,
if
可能是更好的构造。@ScottMarcus,这真的取决于,如果只需要返回一个值,或者需要执行更多的语句,…我实际上在阅读雄辩的JavaScript,作者似乎暗示if语句和switch语句是交换的可以。似乎有更多的细微差别。谢谢你,尼娜!(-):