开关语句与if语句关系最为密切,但也广泛应用于其它编程语言中,但开关的匹配是一致的模式。如果我们不注意这个细节,我们在编写程序时常常会出错。

代码uff1a


var =年;
开关(n){
案例5:
警报('executing案例分公司);
打破;
违约:
警报('executing默认分支);
}


结果uff1a



很多人可能会认为上面的程序将采用案例分支,但结果是默认分支。让我们看一下if语句。

代码uff1a


var =年;
如果(n=5){
警报(真正的分支);
其他{ }
警报(假公司);
}


结果uff1a



它可以在if语句中匹配,但为什么不在切换语句中匹配呢

这是因为开关语句中的情况使用了全类模式,这相当于if中使用三等于,重写这个案例的代码。

代码uff1a


var =年;
开关(n){
例5: / /原5例、重写
警报('executing案例分公司);
打破;
违约:
警报('executing默认分支);
}


结果uff1a



当您重写它时,您可以转到案例分支,就像我们使用三个完整的数字一样。

代码uff1a


var =年;
如果(= = 5){
警报(真正的分支);
其他{ }
警报(假公司);
}


结果uff1a



由于使用了整个类,字符串5不等于数字5,其结果是一个false分支。

上面的例子说明了在交换机中使用全匹配模式,特别是当数字与字符串匹配时需要注意的一个匹配模式。