语法
switch语句的基本语法给出一个expression ,以评估计算几种不同的语句基于该表达式的值来执行。解释器检查对表达式的值的每一种情况,直到找到一个匹配。如果没有匹配,则缺省(default)条件将被使用。
switch (expression) { case condition 1: statement(s) break; case condition 2: statement(s) break; ... case condition n: statement(s) break; default: statement(s) }
break语句指示的解释器是特定情况下结束。如果它们被省略,则解释器将继续在以下每个情况(case)执行每个语句。
我们将解释break语句在循环控制这一章。
例子:
下面的例子说明了一个基本的while循环:
<script type="text/javascript"> <!-- var grade='A'; document.write("Entering switch block<br />"); switch (grade) { case 'A': document.write("Good job<br />"); break; case 'B': document.write("Pretty good<br />"); break; case 'C': document.write("Passed<br />"); break; case 'D': document.write("Not so good<br />"); break; case 'F': document.write("Failed<br />"); break; default: document.write("Unknown grade<br />") } document.write("Exiting switch block"); //--> </script>
这将产生以下结果:
Entering switch block Good job Exiting switch block
例子:
考虑这样一种情况,如果不使用break语句:
<script type="text/javascript"> <!-- var grade='A'; document.write("Entering switch block<br />"); switch (grade) { case 'A': document.write("Good job<br />"); case 'B': document.write("Pretty good<br />"); case 'C': document.write("Passed<br />"); case 'D': document.write("Not so good<br />"); case 'F': document.write("Failed<br />"); default: document.write("Unknown grade<br />") } document.write("Exiting switch block"); //--> </script>
这将产生以下结果:
Entering switch block Good job Pretty good Passed Not so good Failed Unknown grade Exiting switch block
javascript的switch用法注意事项
<script> var t_jb51_net = 65; switch (t_jb51_net) { case '65': alert("字符串65。jb51.net"); break; } </script>
你会发现没有弹出对话框,alert没有执行。
原因分析:
这里需要明确的是,switch在判断的时候使用的是全等号“===”,全等号在比较的时候首先看数据类型是不是一样的,而在这里,t_jb51_net是Number类型,而'65'是String。
下面的代码则对话框会弹出:
<script> var t_jb51_net = 65; switch (t_jb51_net) { case 65: alert("数字65。jb51.net"); break; } </script>
Atas ialah kandungan terperinci JavaScript中switch用法和注意事项实例详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!