2013-09-25 7 views
6

Biegnę mój kod poprzez JSHint, a ja uderzanie ten błąd:przełącznik spadek poprzez ignorowane przez JSHint

Expected a break statement before case

W tym bloku kodu:

switch(true) 
{ 
    // Renames skill1=abc to section_8_1_body=abc 
    case Major === 0 && Minor === 0 && Patch < 433: 
     upgraded = upgraded.replace(/(\s+)skill(\d)=/gm, '$1section_8_$2_body='); 
    /*falls through*/ 

    // Example 
    case Major === 0 && Minor === 0 && Patch < 442: 
     console.log('test'); 
    /*falls through*/ 
} 

sprawdza kod informacje o wersji pliku i aktualizuje go, aby był zgodny z najnowszą wersją oprogramowania. Dlatego celowe jest, aby plik case s doszedł do skutku, aby plik mógł zostać zaktualizowany za pomocą wielu wersji.

Ja jednak nadal pojawia się komunikat o błędzie, z/*falls through* dodał, choć it is supposedly valid.

Jak mogę zezwolić na pomyślne przejście mojego case s do JSHint?

Odpowiedz

16

Wygląda na to, że JSHint oczekuje, że komentarz znajdzie się na linii tuż przed numerem case.

// Example 
/* falls through */ 
case Major === 0 && Minor === 0 && Patch < 442: 
    console.log('test'); 

Według opisu in the source code, nie potwierdzi komentarz inaczej:

// You can tell JSHint that you don't use break intentionally by 
// adding a comment /* falls through */ on a line just before 
// the next `case`. 
+3

Ach, dzięki Jonathan! Próbowałem usunąć linię '// Example', ale nadal mam ten sam błąd. Problem polegał na pustym wierszu między '/ * przechodzącym przez * /' i 'case'. –