JavaScript switch 语句
switch 语句用于基于不同的条件来执行不同的动作。
JavaScript switch 语句
请使用 switch 语句来选择要执行的多个代码块之一。
switch(n)
{
case 1:
执行代码块 1
break;
case 2:
执行代码块 2
break;
default:
与 case 1 和 case 2 不同时执行的代码
}
工作原理:首先设置表达式 n(通常是一个变量)。随后表达式的值会与结构中的每个 case 的值做比较。如果存在匹配,则与该 case 关联的代码块会被执行。请使用 break 来阻止代码自动地向下一个 case 运行。
<script>
function myFunction(){
var x;
var d=new Date().getDay();
switch (d){
case 0:x="今天是星期日";
break;
case 1:x="今天是星期一";
break;
case 2:x="今天是星期二";
break;
case 3:x="今天是星期三";
break;
case 4:x="今天是星期四";
break;
case 5:x="今天是星期五";
break;
case 6:x="今天是星期六";
break;
}
document.getElementById("demo").innerHTML=x;
}
</script>
default 关键词
请使用 default 关键词来规定匹配不存在时做的事情:
<script>
function myFunction()
{
var x;
var d=new Date().getDay();
switch (d)
{
case 6:x="今天是星期六";
break;
case 0:x="今天是星期日";
break;
default:
x="期待周末";
}
document.getElementById("demo").innerHTML=x;
}
</script>
笔记
一、
主要是为了补充当两种情况相同时,switch 语句的使用,当两种情况相同时,可以只在第二种情况中写要执行的代码,案例如下:
//测试 switch语句,当 两种情况相同时,比如下面的10或者11,都会走 alert("10或者11") 这里
function testSwich() {
var number = document.getElementById("test").value;
number=parseInt(number);
switch (number){
case 1: alert(1);
break;
case 10:
case 11:alert("10或者11"); //number = 10 或者 = 11执行相同的操作
break;
default :alert("既不是1,10,11");
}
}
二、
主要是为了说明一下忘记写 break 时的情况。当忘记写 break 时,代码将会执行后面所有 case 分支里面的代码,前面的 case 会跳过案例如下:
// 测试不使用break跳出循环
function testSwichNotBreak() {
var number = document.getElementById("test").value;
number=parseInt(number);
switch (number){
case 1: document.write(number);
case 2: document.write(number)
case 3:document.write(number);
case 4:document.write(number);
case 5:document.write(number);
default :document.write(number);
}
}
三、
switch 中 case的判断是===的判断,即数据类型和值的双重判断,这点要注意。
另外switch的判断条件可以是String 、Number、Boolean、char、枚举、null、undefined