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 运行。
实例
显示今天的星期名称。请注意 Sunday=0, Monday=1, Tuesday=2, 等等:
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;
}
x 的运行结果:
尝试一下 »
default 关键词
请使用 default 关键词来规定匹配不存在时做的事情:
实例
如果今天不是星期六或星期日 则会输出默认的消息:
var d=new Date().getDay();
switch (d)
{
case 6:x="今天是星期六";
break;
case 0:x="今天是星期日";
break;
default:
x="期待周末";
}
document.getElementById("demo").innerHTML=x;
x 的运行结果:
尝试一下 »

文人墨客
switch 中 case的判断是===的判断,即数据类型和值的双重判断,这点要注意。
另外switch的判断条件可以是String 、Number、Boolean、char、枚举、null、undefined
文人墨客
主要是为了说明一下忘记写 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 语句的使用,当两种情况相同时,可以只在第二种情况中写要执行的代码,案例如下:
//测试 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"); } }尝试一下 »