За последние 24 часа нас посетили 16204 программиста и 1668 роботов. Сейчас ищут 909 программистов ...

Объясните пожалуста момент в тернарном операторе

Тема в разделе "JavaScript и AJAX", создана пользователем ZMANZ, 9 сен 2012.

  1. ZMANZ

    ZMANZ Активный пользователь

    С нами с:
    10 мар 2008
    Сообщения:
    161
    Симпатии:
    0
    Код (Text):
    1. var next = ((current.next().length) ? ((current.next().hasClass('show')) ? $('div#rotator ul li:first') :current.next()) : $('div#rotator ul li:first'));
    стоит три знака вопроса, я так понимаю это по другому "или"??? Каким образом тут последовательность выполнения происходит???
     
  2. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Если объяснить по простому, это выглядит примерно так:

    Код (PHP):
    1. {
    2.     ? {
    3.         
    4.     } : {
    5.     
    6.     }
    7. } : {
    8.  
    9. } 
    http://learn.javascript.ru/conditional-if#оператор-вопросительный-знак

    Что - то ссылку не обрабатывает .
     
  3. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Нет, это не "или", а "если".
    Код (Text):
    1. var a = b ? c : d;
    Равносильно:
    Код (Text):
    1. if(b)
    2.     var a = c;
    3. else
    4.     var a = d;
     
  4. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Ну да и как бы есть еще такое в php >= 5.3
    Код (PHP):
    1. ?:{
    2.  
    3. }//else