Показать сообщение отдельно
  #4 (permalink)  
Старый 16.05.2011, 00:17
Аватар для poorking
prodigy
Отправить личное сообщение для poorking Посмотреть профиль Найти все сообщения от poorking
 
Регистрация: 01.11.2010
Сообщений: 503

dima85,
эмм.. какие передние скобки?
? : - это условный оператор

Можете сделать так
if(/,/.test(str)){

}else{

}

суть та же.
/,/
- это могучее регулярное выражение, про них тут
Регулярные выражения
и тут
Особенности регулярных выражений
Вместо всего этого можно воспользоваться indexOf методом строк
if(str.indexOf(",") != -1){
 //запятые есть
}else{
 //запятых нет
}

Делайте как считаете нужным, тернарный оператор ухудшает читаемость кода, но делает его короче. Без регулярного выражения тут можно обойтись конечно. Что быстрее работает, indexOf или test я не знаю, но думаю у вас не особо важна такая мелкая оптимизация
UPD
(cond ? expr1 : expr2 )
Тут скобки нужны чтобы отделить одно выражение от другого
если бы было

alert("Привет" + false ? " ya" : " no");

то сами видите, что условие истинно, так как "Привет" + false после приведения к булевому типу == true
alert(Boolean("Привет" + false));

а если
alert("Привет" + (false ? " ya" : " no"));

то то условие ложно и все ок
__________________
readOnly

Последний раз редактировалось poorking, 16.05.2011 в 00:33.
Ответить с цитированием