JavaScript switch...case 中是否可以嵌套if等选择结构?

switch…case 中是否可以嵌套if等选择结构?

可以,

                   switch (a=值){
     	                             case a=值:
      	                                       if (条件) {
     	  	                        alert("条件成立")
      	                                      } else{
       	  	                        alert("条件不成立")
      	                                      }
      		                        break;
      	                              default:alert("值不成立")
       		                        break;
                                 }  

在case 判断时 使用 逻辑运算符和表达式

会直接选择输出default
例如

switch (a=60){
             	case a=60:
             	  if (a==60) {
             	  	alert("条件成立")
             	  } else{
             	  	alert("条件不成立")
             	  }
             		break;
             	default:alert("值不成立")
             		break;
             }

输出:条件成立

switch (a=60){
             	case 60:
             	  if (a==70) {
             	  	alert("条件成立")
             	  } else{
             	  	alert("条件不成立")
             	  }
             		break;
             	default:alert("值不成立")
             		break;
             }

输出:条件不成立

switch (a=60){
             	case 70:
             	  if (a==70) {
             	  	alert("条件成立")
             	  } else{
             	  	alert("条件不成立")
             	  }
             		break;
             	default:alert("值不成立")
             		break;
             }

输出:值不成立

switch (a=60){
             	case a==60:
             	  if (a==60) {
             	  	alert("条件成立")
             	  } else{
             	  	alert("条件不成立")
             	  }
             		break;
             	default:alert("值不成立")
             		break;
             }

输出:值不成立
case判断不管是直接输入某个值还是输入变量=值都可以
但是 输入逻辑运算符

case中输入变量1 || 变量2
变量1==值

switch (a=60){
             	case 60||70:
             	  if (a==60) {
             	  	alert("条件成立")
             	  } else{
             	  	alert("条件不成立")
             	  }
             		break;
             	default:alert("值不成立")
             		break;
             }                       //输出:条件成立

switch (a=60){
             	case 50||70:
             	  if (a==60) {
             	  	alert("条件成立")
             	  } else{
             	  	alert("条件不成立")
             	  }
             		break;
             	default:alert("值不成立")
             		break;
             }                     //输出值不成立

若为变量1&&变量2或!值

switch (a=60){
             	case 60&&70:
             	  if (a==60) {
             	  	alert("条件成立")
             	  } else{
             	  	alert("条件不成立")
             	  }
             		break;
             	default:alert("值不成立")
             		break;
             }
               //输出:值不成立
               switch (a=60){
             	case !60:
             	  if (a==60) {
             	  	alert("条件成立")
             	  } else{
             	  	alert("条件不成立")
             	  }
             		break;
             	default:alert("值不成立")
             		break;
             }
               //输出:值不成立

若case中输入表达式中则会直接判断到default中

switch (a=60){
             	case b=a+a:
             	  if (a==120) {
             	  	alert("条件成立")
             	  } else{
             	  	alert("条件不成立")
             	  }
             		break;
             	default:alert("值不成立")
             		break;
             }                 //输出:值不成立

你可能感兴趣的:(学习笔记)