Rumah  >  Artikel  >  hujung hadapan web  >  JavaScript中switch用法和注意事项实例详解

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

伊谢尔伦
伊谢尔伦asal
2017-07-18 14:49:431597semak imbas

语法

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>

Atas ialah kandungan terperinci JavaScript中switch用法和注意事项实例详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn