在中国建设银行的网站上可以转账吗,44555pd永久四色端口,电脑编程,高碑店网站建设JS switch case 语句与 if else 语句的多分支结构类似#xff0c;都可以根据不同的条件来执行不同的代码#xff1b;但是与 if else 多分支结构相比#xff0c;switch case 语句更加简洁和紧凑#xff0c;执行效率更高。
JavaScript switch case 语句的语法格式如下#…JS switch case 语句与 if else 语句的多分支结构类似都可以根据不同的条件来执行不同的代码但是与 if else 多分支结构相比switch case 语句更加简洁和紧凑执行效率更高。
JavaScript switch case 语句的语法格式如下
switch (表达式){case value1:statements1 // 当表达式的结果等于 value1 时则执行该代码break;case value2:statements2 // 当表达式的结果等于 value2 时则执行该代码break;......case valueN:statementsN // 当表达式的结果等于 valueN 时则执行该代码break;default :statements // 如果没有与表达式相同的值则执行该代码
}
switch 语句根据表达式的值依次与 case 子句中的值进行比较
如果两者相等则执行其后的语句段当遇到 break 关键字时则跳出整个 switch 语句。如果不相等则继续匹配下一个 case。switch 语句包含一个可选的 default 关键字如果在前面的 case 中没有找到相等的条件则执行 default 后面的语句段。 注意switch 语句中表达式是使用全等来与各个 cese 子句中的值进行匹配的。由于使用的是全等运算符因此不会自动转换每个值的类型。 switch 语句的执行流程工作原理如下图所示 break 关键字
switch 语句是逐行执行的当 switch 语句找到一个与之匹配的 case 子句时不仅会执行该子句对应的代码还会继续向后执行直至 switch 语句结束。为了防止这种情况产生需要在每个 case 子句的末尾使用 break 来跳出 switch 语句。
break 除了可以用来跳出 switch 语句外还可以用来跳出循环语句for、for in、while、do while 等后面我们会详细介绍。
【示例1】下面示例使用 switch case 语句设计网站登录会员管理模块。
var id 1;
switch (id) {case 1 :console.log(普通会员);break; //停止执行跳出switchcase 2 :console.log(VIP会员);break; //停止执行跳出switchcase 3 :console.log(管理员);break; //停止执行跳出switchdefault : //上述条件都不满足时默认执行的代码console.log(游客);
}
case 子句
case 子句可以省略语句这样当匹配时不管下一个 case 条件是否满足都会继续执行下一个 case 子句的语句。
【示例2】下面示例演示了把普通会员和 VIP 会员合并在一起进行检测。
var id 1;
switch (id) {case 1 :case 2 :console.log(VIP会员);break;case 3 :console.log(管理员);break;default : console.log(游客);
在 switch 语句中case 子句只是指明了执行起点但是没有指明执行的终点如果在 case 子句中没有 break 语句就会发生连续执行的情况从而忽略后面 case 子句的条件限制这样就容易破坏 switch 结构的逻辑。
如果在函数中使用 switch 语句可以使用 return 语句终止 switch 语句防止代码继续执行。
default语句
default 是 switch 子句可以位于 switch 内任意位置不会影响其它 case 子句的正常执行。下面结合示例介绍使用 default 语句应该注意 3 个问题。
【示例3】如果 default 下面还有 case 子句应该在 default 后面添加 break 语句终止 switch 结构防止程序突破 case 条件的限制继续执行下面 case 子句。
var id 1;
switch (id) {default : console.log(游客);break;case 1 : console.log(普通会员);break;case 2 :console.log(VIP会员);breakcase 3 :console.log(管理员);break;
}
【示例4】在下面代码中JavaScript 先检测 case 表达式的值由于 case 表达式的值都不匹配则跳转到 default 子句执行然后继续执行 case 1 和 case 2 子句。但是最后不会返回 default 子句再重复执行。
var id 3;
switch (id) {default : console.log(游客);case 1 :console.log(普通会员);case 2 :console.log(VIP会员);
}
【示例5】下面示例使用 switch 语句设计一个四则运算函数。在 switch 结构内先使用 case 枚举 4 种可预知的算术运算当然还可以继续扩展 case 子句枚举所有可能的操作但是无法枚举所有不测因此最后使用 default 处理意外情况。
function oper (a,b,opr) {switch (opr) {case : //正常枚举return a b;case - : //正常枚举return a - b;case * : //正常枚举return a * b;case / : //正常枚举return a / b;default : //异常处理return 非预期的 opr 值;}
}
console.log(oper (2,5,*)); //返回10
default 语句与 case 语句简单比较如下
语义不同default 为默认项case 为判例。功能扩展default 选项是唯一的不可以扩展。而 case 选项是可扩展的没有限制。异常处理default 与 case 扮演的角色不同case 用于枚举default 用于异常处理。
黑马程序员前端JavaScript入门到精通全套视频教程javascript核心进阶ES6语法、API、js高级等基础知识和实战教程