В этом случае также можно использовать оператор switch
? Что-то вроде:
switch ((_3).match(/msie|applewebkit|opera|camino|firefox/i)[0]) {
case 'MSIE' : /* ...; */ break;
case 'AppleWebKit' : /* ...; */ break;
/* ... etc. */
default: BrowserCouldntBeDetermined = true;
}
Я придерживаюсь предыдущего ответа: иначе if () эквивалентно, но более читабельно, чем еще {if () ...}
В любом случае, код, который вы нашли и представили, выглядит немного неуклюжим и не очень быстрым по другим причинам, кроме того, как используется if...else
. Что касается значения кода (и помимо вопроса), лучший способ позаботиться о различиях в браузере - это обнаружение объектов Я бы сказал.