用布尔值切换JavaScript



为什么此代码不起作用!一直以来,默认没有我的工作,我没有看到任何人在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!!";
		
}
<html>
<head>
    
    
    </head>
<body>
   <div id="box"></div>
   
    <!--External Javascrip-->
    <script type="text/javascript" src="script.js"></script>
    </body>
</html>

true切换age。请注意,使用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!!";
}
<div id="box"></div>

最新更新