我通過JSHint運行我的代碼,我打這個錯誤:這個'開關'應該是'如果' - 爲什麼?
This
switch
should be anif
在這個代碼塊:
switch(true)
{
case Major === 0 && Minor === 0 && Patch < 433:
upgraded = upgraded.replace(/(\s+)skill(\d)=/gm, '$1section_8_$2_body=');
/* falls through */
case Major === 0 && Minor === 0 && Patch < 442:
upgraded = upgraded.replace(/test=/gm, 'void=');
/* falls through */
case Major === 0 && Minor === 0 && Patch < 459:
upgraded = upgraded.replace(/another=/gm, 'void=');
/* falls through */
}
從谷歌上搜索,我發現this Github issue,但它看起來像那是因爲只有1 case
。
我該如何解決這個問題?我認爲沒有理由這switch
應該是if
。我正在使用的事實switch(true)
與它有什麼關係?另外:在線版本(我使用記事本+ +插件)的代碼lints罰款。
我同意JSHint。那'switch'看起來不太好... – elclanrs
@elclanrs你會如何改寫它?我有點同意......當有很多升級途徑時,這可能會變成一個巨獸。 –
那麼,'Patch'(爲什麼要領頭?)似乎是那裏唯一的變數。您可以使用'if,elseif'或找到一種模式將其抽象爲字典查找。如果沒有看到代碼的其他部分,不能確定地告訴你。 – elclanrs