检查一个值,然后判断这个值可能出现的一些情况,根据不同的情况去做不同的事情。这种情况比较适合用 switch 写法。假设我们的应用里有个 gear,它表示的是车子的档位,先让它等于 P 这个字符串。
我要检查 gear 的值,根据不同的档位去做不同的事情。如果用 if 这种写法, if 判断的条件是检查 gear 是不是等于 P ,如果是的话,就在控制台上输出 停车 这两个字儿。如果用这种写法需要写很多个 if。
或者我们也可以用 switch 这种写法。 先用一个 switch ,然后是个括号,括号里面是要检查的值,比如 gear 。然后是一组大括号,在这组大括号里面,可以配置一些不同的情况。
设置一种情况用的是 case 关键词,后面是一个值,比如字符串 P,接着是冒号,下面是这种情况下要执行的代码,这里我们简单的在控制台上输出 停车 这两个字儿。最后可以再用一个 break 。
这样我们就添加了一种情况,也就是如果 gear 的值,等于字符串 P 的话,就会在控制台上输出 停车。 break 会跳出这个 switch ,也就是如果符合这种情况,执行了这种情况下要执行的代码,就会跳出这个 switch。如果在设置的情况里不加 break; 会继续检查其它的情况。
下面再设置一种情况,如果 gear 的值,是 R,也就是 Reverse ,表示倒档,这种情况我们在控制台上输出 倒车 这两个字,下面再用一个 break 。
如果 gear 的值是 D ,表示 Drive,就是前进档,这时可以输出 开车。 还有一种情况是 gear 的值是 N , 表示 Neutral,就是挂的是空档。这种情况可以输出 空档 这两个字。
在 switch 还可以添加一种默认的情况,如果检查的值都不符合上面列出的这些个情况,就会执行默认情况下要执行的代码。用一个 default ,冒号,下面是默认情况要执行的代码,在控制台上输出 档位异常!最后再 break 出来。
现在 gear 的值等于 P,表示 Park ,也就是停车档。在终端,执行一下应用,这里在控制台上输出的是 停车,因为 gear 的值现在等于 P,所以就符合这种情况,也就会执行这个 console.log 停车。
重新设置一下 gear 的值,让它等于 D , 在终端,执行一下应用,这次输出的是 开车,因为现在 gear 的值等于 D ,符合设置的这种情况,就会在控制台上输出 开车 这两个字儿。