JS中的选择结构-SWITCH

switch条件开关语句

if 语句和 switch 语句选择

1、分支比较多且无法穷尽时最好用 if, 其它情况可以按照个人习惯
2、如果数据量不是很大, 并且数据是固定的可以用Switch
3、理论上Switch的效率比if高

switch case语句
switch(变量/表达式)
{
case 值1:
  执行代码块 1
  break;
case 值2:
  执行代码块 2
  break;
default:
  与 case 1 和 case 2 不同时执行的代码
}

1、计算条件表达式的值。并逐个与case后面表达式的结果值比较
2、当条件表达式的值与某个条件表达式的值全等时,执行气候的语句,并且不会在与其它case进行比较。
3、如果条件表达式的值与所有case后的表达式均不相同时,则执行defaul后的语句。

示例代码

var num = 2;
		switch(num) {
		case 1:
		console.log("壹");
		break;
		case 2:
		console.log("贰"); // 输出贰
		break;
		case 3:
		console.log("叁");
		break;
		default:
		console.log("非法数字");
		break;
		}

Switch注意问题解读

一、JavaScript中case判断是否相等时是全等于(= = =),而不是等于(==),也就是说既会判断类型是否相等又会判断值是否相等
var str = "123";
		switch(str) {
		case 123:
		console.log("123数字");
		break;
		case "123":
		console.log("123字符串");    // 输出123字符串
		break;
		default:
		console.log("default");
		break;
		}
二、case后面可以是常量也可以是变量
var num = 120;
		switch(120) {
		case num: // 这里可以是变量
		console.log("120"); // 输出120
		break;
		case 110: // 这里可以是常量
		console.log("110");
		break;
		default:
		console.log("default");
		break;
		}
三、判断时会先计算表达式的值,再判断
switch(120 + 3) { // 计算后为123
		case 120:
		console.log("120");
		break;
		case 3:
		console.log("3");
		break;
		case 3 + 120: // 计算后为123
		console.log("3 + 120"); // 输出3 + 120
		break;
		default:
		console.log("default");
		break;
		}
四、default可以省略 default语句可以写在switch语句中的任意位置
switch(3) {
		case 1:
		console.log("壹");
		break;
		default: // 无论写在哪, 都只会在所有case不匹配才执行
		console.log("非法数字~~");
		break;
		case 2:
		console.log("贰");
		break;
		}
五、可以利用switch的穿透力简化代码
switch(score/10) {
		case 10: // 利用case的穿透简化代码
		case 9:
		alert("A");
		break;
		case 8:
		alert("B");
		break;
		case 7:
		alert("D");
		break;
		case 6:
		alert("C");
		break;
		default:
		alert("E");
		break;
		}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值