手机版

JavaScript中容易出错的开关判断细�

时间:2021-09-10 来源:互联网 编辑:宝哥软件园 浏览:

Switch语句与if语句关系密切,也是其他编程语言常用的一种流量控制语句。但是switch的匹配是全等模式,如果不注意这个细节,写程序的时候经常会出错。

代码:

var n=' 5Switch(n){case 5:alert('执行case分支');打破;Default:alert('执行默认分支');}结果:

JS中的switch

很多人可能会误以为以上程序会取案例分支,反而会取默认分支。他们两个不是平等的吗?让我们使用if语句来看看。

代码:

var n=' 5if(n==5){ alert(' true branch ');} else { alert(' false branch ');}结果:

JS中的switch

if语句可以匹配,为什么switch语句不能匹配?

这是因为switch语句中的case使用了全等模式,这相当于在if中使用了三个等号。让我们重写案例代码

代码:

var n=' 5Switch(n){case '5': //将原来的case 5改写为case '5'alert('执行case分支');打破;Default:alert('执行默认分支');}结果:

JS中switch

在重写之后,你可以接受case分支,就像我们在if中使用三个完全相等一样

代码:

var n=' 5if(n===5){ alert(' true branch ');} else { alert(' false branch ');}结果:

JS中的switch

因为使用同余,所以字符串5不等于数字5,从而导致假分支。

以上例子说明了在switch中使用了全等匹配模式,尤其是数字匹配字符串时需要注意的一个问题

版权声明:JavaScript中容易出错的开关判断细�是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。