2011-02-07 13 views

Odpowiedz

12

Tak, it is perfectly valid. Próbowałeś tego?

+2

Próba wykonania czegoś i wykonania go nie musi oznaczać, że jest poprawna. To może być coś, co wpada w pęknięcia, ale nie jest właściwe. Mnóstwo rzeczy w Internecie nie jest "prawidłowym" znacznikiem lub kodem, ale funkcjonują one w taki czy inny sposób. –

+0

JavaScript jest mniej magiczną rzeczą voodoo, IMO. Oświadczenia związane z przypadkiem * mogą * być wszystkim - jeszcze nie widziałem kontrprzykładu. – karim79

+0

@ karim79 & Bertrand Marron - Próbowałem tego w jakimś kodzie, nad którym pracowałem wcześniej. To nie działało, ale myślę, że mogło to być spowodowane czymś innym. Zmieniłem go na czysty// wszędzie i wprowadziłem również inne zmiany. Możliwe, że inne zmiany spowodowały, że zaczęła działać, a nie zmieniała się w if/else. – Ben

-1

można łączyć switch i if w lepszy sposób, jeśli naprawdę trzeba:

switch (true) { 
    case (foo === 'bar' && raz === 'something'): 
     // execute 
     break; 
    case (foo === 'bar'): 
     // do something else 
     break; 
    default: 
     // yada yada 
} 

Niestety ożywić taką starą post, ale może pomóc ludziom, którzy przybyli tu w poszukiwaniu jak połączyć lub zagnieździć instrukcję switch i if.

+0

To nie ma żadnego sensu. Możesz po prostu użyć instrukcji if/else if i usunąć otaczającą obudowę przełącznika ... – schlenger

+0

It * does * sense. Używając 'return' w każdym z' case's, możesz pominąć 'break;', i może to być bardzo czytelnym zamiennikiem dla długich instrukcji 'if/else'. –

+0

Instrukcja if if automatycznie się zepsuje, jeśli spełniony jest jeden warunek ... – schlenger

Powiązane problemy