js中的switch表达式使⽤⽰例前⾔
switch 语句⽤于基于不同条件执⾏不同动作。
JavaScript Switch 语句
请使⽤ switch 语句来选择多个需被执⾏的代码块之⼀。
switch(表达式) {
case n:
代码块
break;
case n:
代码块
break;
default:
默认代码块
}
代码解释:
计算⼀次 switch 表达式
把表达式的值与每个 case 的值进⾏对⽐
如果存在匹配,则执⾏关联代码
实例
getDay() ⽅法返回 0 ⾄ 6 之间的周名数字(weekday number)。
(Sunday=0, Monday=1, Tuesday=2 ..)
本例使⽤周名数字来计算周的名称:
switch (new Date().getDay()) {
case 0:
day = "星期天";
break;
case 1:
day = "星期⼀";
break;
case 2:
day = "星期⼆";
break;
case 3:
day = "星期三";
break;
case 4:
day = "星期四";
break;
case 5:
day = "星期五";
break;
case 6:
day = "星期六";
}
结果将是:
今天是星期三
break 关键词
如果 JavaScript 遇到 break 关键词,它会跳出 switch 代码块。
此举将停⽌代码块中更多代码的执⾏以及 case 测试。
如果到匹配,并完成任务,则随机中断执⾏(break)。⽆需更多测试。
break 能够节省⼤量执⾏时间,因为它会“忽略” switch 代码块中的其他代码的执⾏。
不必中断 switch 代码块中的最后⼀个 case。代码块在此处会⾃然结束。
default 关键词
default 关键词规定不存在 case 匹配时所运⾏的代码:
实例
getDay() ⽅法返回 0 ⾄ 6 的数字周名。
如果今⽇既不是周六(6)也不是周⽇(0),则输出⼀段默认消息:
switch (new Date().getDay()) {
case 6:
text = "今天是周六";
break;
case 0:
text = "今天是周⽇";
break;
default:
text = "期待周末~";
}
text 的结果是:
期待周末~
默认的 case 不必是 switch 代码块中最后⼀个 case:
实例
switch (new Date().getDay()) {
default:
text = "期待周末!";
break;
case 6:
text = "今天是周六";
break;
case 0:
text = "今天是周⽇";
}
如果 default 不是 switch 代码块中最后⼀个 case,请记得⽤ break 结束默认 case。常见的代码块
有时您会需要不同的 case 来使⽤相同的代码。
在本例中,case 4 和 5 分享相同的代码块,⽽ 0 和 6 分享另⼀段代码块:
实例
switch (new Date().getDay()) {
case 4:
case 5:
text = "周末快到了:)";
break;
case 0:
case 6:
text = "今天是周末~";
break;
default:
text = "期待周末!";
}
Switching 的细节
如果多种 case 匹配⼀个 case 值,则选择第⼀个 case。
如果未到匹配的 case,程序将继续使⽤默认 label。
如果未到默认 label,程序将继续 switch 后的语句。
严格的⽐较
Switch case 使⽤严格⽐较(===)。
值必须与要匹配的类型相同。
只有操作数属于同⼀类型时,严格⽐较才能为 true。
在这个例⼦中,x 将不匹配:
实例
var x = "0";
switch (x) {
case 0:
text = "Off";
break;
case 1:
text = "On";
break;
default:
text = "No value found";
}
语法switch 这种表达式在很多语⾔中都有,⽐如java, C等待,使⽤switch⽐使⽤if else 来得⽅便,来得清晰。使⽤语法很简单:
switch(n)
{
case 1:
执⾏代码块 1
break;
case 2:
执⾏代码块 2
break;
default:
n 与 case 1 和 case 2 不同时执⾏的代码
}
各种语⾔的使⽤基本类似。
需要特别提出的时,在java 1.6 及以下版本,变量(n)只能是整型。在java 7 之后⽀持String类型了。
在js 中,是可以直接使⽤String 类型。
使⽤实例
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Author" CONTENT="oscar999">
<script>
function funcSwitch(sFlag)
{
switch(sFlag)
{
case "Test1":
alert("Test1");
break;
case "Test2":
alert("Test2");
break;
default:;
}
}
funcSwitch("Test2");
</script>
switch语句c语言例子</HEAD>
<BODY>
</BODY>
</HTML>
逻辑很简单,代码很简单。直接使⽤string 来区分。
Case 对应的条件值也是变量
如果case 后⾯对应的不是⼀个字符串,⽽是⼀个变量的话。可以结合RegExp 达成。<!--Add by oscar999-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Author" CONTENT="oscar999">
<script>
var str1 = "Test1";
var str2 = "Test1";
function funcSwitch(sFlag)
{
var regExp = new RegExp(sFlag);
switch(true)
{
st(str1):
alert("Test1");
break;
st(str2):
alert("Test2");
break;
default:;
}
}
funcSwitch("Test1");
</script>
</HEAD>
<BODY>
</BODY>
</HTML>
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论