Показать сообщение отдельно
  #1 (permalink)  
Старый 09.08.2012, 16:06
Аватар для z700i
Аспирант
Отправить личное сообщение для z700i Посмотреть профиль Найти все сообщения от z700i
 
Регистрация: 15.10.2010
Сообщений: 77

Проблема с условным оператором if
a = '#id';
b = '.class';
c = 'tag';
function f1(variable){
    (/#/.test(variable))?alert('id'):(/./.test(variable))?alert('class'):alert('tag');
}
function f2(variable){
    if(/#/.test(variable))
        alert('id');
    else if(/./.test(variable))
        alert('class');
    else alert('tag');
}
f1(a); /*Должен выдавать 'id', так как содержит '#'*/
f1(b); /*Должен выдавать 'class', так как содержит '.'*/
f1(c); /*Должен выдавать 'tag', так как не содержит ни первого ни второго*/
f2(a); /*Должен выдавать 'id', так как содержит '#'*/
f2(b); /*Должен выдавать 'class', так как содержит '.'*/
f2(c); /*Должен выдавать 'tag', так как не содержит ни первого ни второго*/

почему в случае с переменной 'c' не содержащей ни '#' ни '.' всё рано выдаёт "class"?
Ответить с цитированием