JS 语句 switch

switch 语句也是条件语句,让不同的条件来执行不同的操作。

  • n 是表达式。
  • 把 n 的值与每个 case 的值进行对比,如果存在匹配,则执行关联代码。
  • break 阻止代码自动地向下一个 case 运行。
  • default 表示如果都不匹配时执行这个代码。
switch(n)
{
	case 1:
		执行代码块 1
		break;
	case 2:
		执行代码块 2
		break;
	default:
		与 case 1 和 case 2 不同时执行的代码
}

示例一 :

var date=new Date().getDay(); 
switch (date) 
{ 
  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; 
}
console.log(x);

new Date() 是 js 的时间对象
getDay() 是 new Date() 的方法,获取一周中的某一天 (0 ~ 6),0 代表 星期日。

示例二 :

var num = Math.floor(Math.random() * 10) + 1;
switch (num) 
{ 
  case 5:
		x="随机数为 5"; 
		break; 
  case 10:
		x="随机数为10"; 
		break; 
	default:
		x="随机数值:" + num + ",是除了 5 和 10 以外的数值。";
		break; 
}
console.log(x);

Math.random() 返回介于 0(包含) ~ 1(不包含) 之间的一个随机数。
Math.floor() 返回小于或等于一个给定数字的最大整数

实例三,case里可以写算术运算符语句 :

var n = 150;
switch(true){      //注意此处括号里的内容
	case (n>=1000):  //case里可以写算术运算符语句
		console.log("n是四位数:"+n);
		break;
	case (n<1000 && n>=100):
		console.log("n是三位数:"+n);
		break;
	case (n>=10 && n<100):
		console.log("n是两位数:"+n);
		break;
	default:
		console.log("n是一位数:"+n);
}

假如没有 break

JS - switch & if

switch 语句 和 if 语句 都是条件语句。使用哪一个具体看实际情况。

用 if 语句来写 示例二 :

if( num == 5 ){
	x="随机数为 5";
}else{
	if( num == 10 ){
		x="随机数为10"; 
	}else{
		x="随机数值:" + num + ",是除了 5 和 10 以外的数值。";
	}
}
console.log(x);