时间:2021-05-26
前言
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> </HEAD> <BODY> </BODY> </HTML>逻辑很简单, 代码很简单。 直接使用string 来区分。
Case 对应的条件值也是变量
如果case 后面对应的不是一个字符串,而是一个变量的话。可以结合RegExp 达成。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
js中的正则表达式比起C#中的正则表达式要弱很多,但基本够用了1定义正则表达式2关于验证的三个这则表达式方法3正则表达式式的转义字符1定义正则表达式在js中定义
js中的正则表达式使用?12345678910111213141516171819202122232425262728functionmyValid(){var
本文介绍在C#中使用匹配中文的正则表达式,包括纯中文、有中文、中文开头、中文结尾等几个正则表达式示例。在正则表达式中,中文可以通过Unicode编码来确定正则表
命令中的正则表达式如果要在命令输出或文本中筛选内容时使用模糊查找,就需要使用正则表达式。正则表达式是一套由多个元字符组成的模糊查找模式,使用正则表达式可以快速查
本文实例讲述了JS正则表达式常见函数与用法。分享给大家供大家参考,具体如下:search()使用正则表达式//使用正则表达式搜索"Runoob"字符串,且不区分