2012-06-01 3 views
0

Я только что послал это и не уверен по поводу последней части этой декларации переменной:Что делает заключительная часть этого заявления?

var u = (document.getElementById('myaccount').className.match(/loggedin/)) ? 'true' : 'false';

Из того, что я могу видеть это выполняет сопоставление с образцом для строки «LoggedIn», но что делает конец ? 'true' : 'false'; часть делаю?

Я не видел ничего подобного раньше так не уверен ...

ответ

4

Это тройной оператор, он может быть хотя, как это:

result = condition ? value_if_true : value_if_false; 

Что просто сокращение для:

if(condition == true) { 

    result = value_if_true; 

} else { 

    result = value_if_false; 

} 

condition часть может быть переменной, функции или выражение, так все действующие:

result = myVariable ? value if true : value if false; 

result = myFunction() ? value if true : value if false; 

result = (myVariable > 10) ? value if true : value if false; 
+0

Великого, спасибо за это. очень аккуратный способ сокращения 'if'! – zik

+0

Я полностью согласен с этим, но хотел бы добавить только для забавы, что: конструкция также иногда называется оператором Элвиса. Посмотрите на персонажей, и вы видите, почему :-) –

0

Его тройная, если/другое заявление.

Если классName.match (/ logged /) имеет значение true, он возвращает true, else false.

классным способ написания

var u; 
if(document.getElementById('myaccount').className.match(/loggedin/)) { 
    u = true; 
} else { 
    u = false; 
} 
return u; 
1

инлайн если

condition_check ? result if true : result if false 
0

Это называется тройная, если заявление.

Если MyAccount элемент имеет класс 'LoggedIn', переменная и будет установлен в ИСТИНА. В противном случае он будет установлен на FALSE.

0

Это еще один способ объявить, если заявления

<condition> ? <return if condition is true> : <return if condition is false> 

Это так же, как этого

var u; 
if (document.getElementById('myaccount').className.match(/loggedin/)){ 
    u = 'true'; 
} else { 
    u = 'false'; 
} 
Смежные вопросы