使用布尔值在 javascript 中切换

moh*_*med 3 javascript switch-statement

为什么这段代码不起作用!无论我做什么,它都会一直默认,而且我没有看到在 stackoverflow 中没有人遇到与此类似的问题。请帮忙

var age = 20;
switch(age){
	case(age<10):
	document.getElementById("box").innerHTML = "you are a kid";
	break;
	case(age>10 && age<=18 ):
		document.getElementById("box").innerHTML = "you are teen";
		break;
	
	case(age>18):
		document.getElementById("box").innerHTML = "you are adult";
		break;
		
	default:
		document.getElementById("box").innerHTML = "Some thing is broken!!";
		
}
Run Code Online (Sandbox Code Playgroud)
<html>
<head>
    
    
    </head>
<body>
   <div id="box"></div>
   
    <!--External Javascrip-->
    <script type="text/javascript" src="script.js"></script>
    </body>


</html>
Run Code Online (Sandbox Code Playgroud)

Car*_*rds 6

切换出来agetrue。请注意,使用它的性能要高得多if/else

var age = 20;

switch (true) {
  case (age < 10):
    document.getElementById("box").innerHTML = "you are a kid";
    break;
  case (age > 10 && age <= 18):
    document.getElementById("box").innerHTML = "you are teen";
    break;

  case (age > 18):
    document.getElementById("box").innerHTML = "you are adult";
    break;

  default:
    document.getElementById("box").innerHTML = "Some thing is broken!!";
}
Run Code Online (Sandbox Code Playgroud)
<div id="box"></div>
Run Code Online (Sandbox Code Playgroud)

  • 我浪费了很多时间尝试 swtich(variable),我觉得一切都符合我的条件,为什么它不会进入内部,然后我只是把 switch(true) 放在里面,一切都成功了!谢谢。 (2认同)