JavaScript – Switch Case
JavaScript是一种强类型解释型语言,其代码执行顺序是自上而下的。然而,编写JavaScript代码时,经常需要根据某些条件改变其执行顺序。这就是“Switch Case”结构的作用。在本文中,我们将深入探讨JavaScript中的Switch Case结构。
Switch Case语法
Switch Case结构由一个测试条件和至少一个Case子句组成。测试条件是一个值或变量,而Case子句是用于处理各种不同值的代码块。下面是Switch Case语法的详细描述:
switch (test_expression) {
case value1:
// 在test_expression等于value1时执行的代码
break;
case value2:
// 在test_expression等于value2时执行的代码
break;
case value3:
// 在test_expression等于value3时执行的代码
break;
default:
// 在test_expression不匹配任何case时执行的代码
}
让我们来看一个实际的例子:
var fruit = "Apple";
switch (fruit) {
case "Banana":
console.log("I hate bananas.");
break;
case "Orange":
console.log("Oranges aren't bad.");
break;
case "Apple":
console.log("I love apples!");
break;
default:
console.log("I don't like that fruit.");
}
上面的代码将输出“I love apples!”,因为变量fruit的值是Apple。
实现多个条件的Switch语句
我们可以在一个Switch语句中添加多个Case子句和一个默认条件。下面是一个实现多个条件的Switch语句的代码示例:
var dayOfWeek = new Date().getDay();
var day = "";
switch (dayOfWeek) {
case 0:
day = "Sunday";
break;
case 1:
day = "Monday";
break;
case 2:
day = "Tuesday";
break;
case 3:
day = "Wednesday";
break;
case 4:
day = "Thursday";
break;
case 5:
day = "Friday";
break;
case 6:
day = "Saturday";
break;
default:
day = "Error - Invalid Day";
}
console.log("Today is " + day);
上面的代码将根据当前日期获取星期几,并输出相应的字符串。例如,如果今天是星期日,则将输出“Today is Sunday”。
Switch语句中不使用break
如果在测试条件匹配的情况下未使用break语句,则会在出现匹配情况后继续执行后续Case子句,直到到达Switch语句的结尾或遇到break语句。下面是一个演示如何在Switch语句中不使用break语句的示例代码:
var number = 3;
var text = "";
switch (number) {
case 1:
text += "Hello ";
case 2:
text += "World ";
case 3:
text += "JavaScript ";
case 4:
text += "Programming ";
case 5:
text += "Language";
break;
default:
text = "Invalid Number";
}
console.log(text);
上面的代码将输出“JavaScript Programming Language”,因为变量number的值是3,匹配到了Case子句3,但在没有使用break的情况下,它执行了Case子句3、4和5。
结论
Switch Case是一种有用的结构,它允许我们编写清晰、易于维护、可扩展的代码。在JavaScript中,Switch Case结构是处理控制流的有力工具,可以提高代码的可读性和可维护性。记住,始终使用break语句以确保代码的正确性。