我有以下 if、else if、else 构造,我只是好奇如何将此类构造转换为 switch 语句。
var emailSubject = email.subject.toLowerCase();
if(emailSubject.indexOf("account request") >= 0){
//do acct req
}else if(emailSubject.indexOf("accounts pending removal for") >= 0){
//do account removal
}else if(emailSubject.indexOf("listserv application") >= 0){
//do listserv app
}else if(emailSubject.indexOf("student organization webmaster transfer request") >= 0){
//do webmaster xfer
}else{
//do default
}
我的想法是,但我认为这是不正确的:
switch(emailSubject){
case this.indexOf("account request"):
//do acct request
break;
default:
//do default
}
Or
switch(0){
case emailSubject.indexOf("accounts pending removal"):
//process account pending removal
break;
default:
//do default behavior
}
您的示例代码不能轻松地转换为大多数语言中的 switch 语句,也不应该这样做。switch
用于将单个变量与一系列常量值进行比较,而您的逻辑需要与非常量值进行比较,而没有变量可以与它们进行比较。if
/else if
是适合您的情况的正确结构。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)