首页 >web前端 >js教程 >JavaScript中switch用法和注意事项实例详解

JavaScript中switch用法和注意事项实例详解

伊谢尔伦
伊谢尔伦原创
2017-07-18 14:49:431668浏览

语法

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=&#39;A&#39;;
document.write("Entering switch block<br />");
switch (grade)
{
 case &#39;A&#39;: document.write("Good job<br />");
      break;
 case &#39;B&#39;: document.write("Pretty good<br />");
      break;
 case &#39;C&#39;: document.write("Passed<br />");
      break;
 case &#39;D&#39;: document.write("Not so good<br />");
      break;
 case &#39;F&#39;: 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=&#39;A&#39;;
document.write("Entering switch block<br />");
switch (grade)
{
 case &#39;A&#39;: document.write("Good job<br />");
 case &#39;B&#39;: document.write("Pretty good<br />");
 case &#39;C&#39;: document.write("Passed<br />");
 case &#39;D&#39;: document.write("Not so good<br />");
 case &#39;F&#39;: 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 &#39;65&#39;:
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>

以上是JavaScript中switch用法和注意事项实例详解的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn