[英]Why doesn't my switch statement match any case?
當我使用switch語句時 , 沒有一個案例匹配'prefix'。 但如果我用if-else替換switch語句,一切正常。 為什么?
謝謝
//UPDATED
//el is DIV element. For example el.id='mph_4';
var prefix = /^[a-z]+/.exec(id);
//------------- SWTICH -------------------------
switch (prefix) {
case 'mph':
return 1;
case 'ph':
return 2;
case 'mh':
return 3;
}
//---------------IF-ELSE------------------------
if (prefix == 'mph') {
return 1;
}
else if (prefix == 'ph') {
return 2;
}
else if (prefix == 'mh') {
return 3;
}
RegExp.exec()
返回一個數組。 所以prefix
實際上是數組而不是字符串。 如果您確定exec返回單個字符串,則可以將switch語句更改為:
switch (prefix[0]) {
case 'mph':
return 1;
case 'ph':
return 2;
case 'mh':
return 3;
}
記得使用switch-case- break
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.