[译]Javascript中的switch语句
本文翻译youtube上的up主kudvenkat的javascript tutorial播放单
源地址在此:
https://www.youtube.com/watch?v=PMsVM7rjupU&list=PL6n9fhu94yhUA99nOsJkKXBqokT3MBK0b
我们何时应该使用swtich语句
为了增强可读性,我们可以用switch语句来替代if-else-if语句
注意到以下代码有多个if-else-if语句
var userInput = Number(prompt("Please enter a number", "")); if (userInput == 1) { alert("You number is One"); } else if (userInput == 2) { alert("You number is Two"); } else if (userInput == 3) { alert("Your number is Three"); } else { alert("Your number is not between 1 and 3"); }
以上代码可以用switch语句来写以大大增加可读性
switch (userInput) { case 1: alert("You number is One"); break; case 2: alert("You number is Two"); break; case 3: alert("You number is Three"); break; default: alert("You number is not between 1 and 3"); break; }
一般来说,你需要在每个case后加入break来跳出swtich语句
那么如果在switch语句里不添加break会发生什么呢?
那么在找到case之后会自动运行下一个case,直到运行完整个程序
在以下的例子中,我们不再case1中加入break语句,那么当我们输入数字1之后,我们会得到两个alerts,第一个alerts是从case1中得来,第二个alert是从case2中得来.
var userInput = Number(prompt("Please enter a number", "")); switch (userInput) { case 1: alert("You number is One"); case 2: alert("You number is Two"); break; case 3: alert("You number is Three"); break; default: alert("You number is not between 1 and 3"); break; }
你可是应该将多个case语句合并在一起呢?
如果你想要给多个case同一份代码的话,可以如下把各个case合并在一起.一个case语句如果里面没有任何语句的话那么就是多个不同的值共享一个case.一个没有内含代码的case会自动跳转到下一个case
在这个例子中,case1和case2的情况会自动跳转到case3并且运行其中的代码
var userInput = Number(prompt("Please enter a number", "")); switch (userInput) { case 1: case 2: case 3: alert("You number is "+ userInput); break; default: alert("You number is not between 1 and 3"); break; }
小白前端学习之路