Czy jest skrótem dla następnego -skrótem dla wielokrotności lub wyrażenia w if
if(tld == "com" || tld == "net" || tld == "co" || tld == "org" || tld == "info" || tld == "biz")
{
//do something;
}
Czy jest skrótem dla następnego -skrótem dla wielokrotności lub wyrażenia w if
if(tld == "com" || tld == "net" || tld == "co" || tld == "org" || tld == "info" || tld == "biz")
{
//do something;
}
można użyć tablicę
if(["","com","net","co","org","info","biz"].indexOf(tld) > -1) {
// do something
}
lub jeśli używasz jQuery:
$.inArray(tld, ["com","net","co","org","info","biz"])
Zapomniałeś '! = -1' jako' 0' byłby całkowicie poprawnym wynikiem ('com'). – ThiefMaster
Ostrożnie z pierwszym kodem IF, jako pustym ciągiem znaków - "[" "," - również zwraca wartość * false *, * undefined * i * null *. Dlatego, jeśli ** tld ** był jednym z nich, on pierwszy, mimo wszystko, przejdzie dalej! Lepiej użyj 'if ([" com "," net "," co "," org "," info "," biz "]. IndexOf (tld)> -1)' –
użyć regexp:
if (/^(com|net|co|org|info|biz)$/i.test(tld)) {
// do something
}
jak to rozwiąże, jeśli tld to "cot", który zawiera "co"? OK, dodałeś początek i koniec, kiedy pisałem. – hackartist
nie jest wolniejsze w wyrażaniu regexp pod względem wydajności? – ShalomSam
@ShalomSam Nie wiem, to nie jest mikrooptymalizacja, którą przetestowałem jeszcze. –
myślałeś o użyciu instrukcji switch? coś takiego:
switch(tld)
{
case 'com':
case 'net':
case 'co':
...
...
// do something for all of them
break;
default:
// if you want you can have default process here
break;
}
Myślałem o tym .. ale najlepiej byłoby użyć przełącznika, gdy masz różne wykonania w różnych przypadkach. I jeszcze bardziej szukam stenogramu, nie przedłużając mojego kodu. Dzięki za odpowiedź, choć bardzo doceniane! – ShalomSam
@Hamish Mówi JavaScript, Poprawiłem odpowiednio tagi. – purtip31
Spójrz na http://stackoverflow.com/a/10479102/298479 - wyjaśniłem kilka metod, aby zrobić to, co chcesz, a także związane z porównywaniem wydajności w przypadku, który ma dla ciebie znaczenie. – ThiefMaster
@ purtip31 - Thanx. – ShalomSam