Перейти к содержимому



Вопрос по оператору ?

#1

Поделиться сообщением #1



hoax

hoax
  • Неактивные
  • 24 сообщений
  • Репутация: 1
0

Отправлено 04 Июль 2013 - 23:57

не могу понято отрезок кода

#block {display:none}

text.onclick=function() {

block.style.display = block.style.display? '' : 'block';

}

вообщем при клике на text будет показываться block, Но в данном примере у оператора ? нету условия.

Т.е. он копирует в себя значение после ?. Но как понять какое он содержит условие, ведь не 'none', не 'block' там не находится, иначе бы код не работал...

 

 

  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85
Советую обратить внимание на следующее:
  1. Сервис вопросом и ответов на сайте
  2. Вопрос по организации страниц
  3. Вопрос по директу. Почему я не вижу свою рекламу?
  4. Помоги с ответами на вопросы по СЕО ?
  5. 3 вопроса по сайту

#2

Поделиться сообщением #2



yury

yury
  • Пользователь
  • 632 сообщений
  • Репутация: 181

Отправлено 05 Июль 2013 - 08:58

Но в данном примере у оператора ? нету условия.

Условие есть. Это block.style.display . Значение, которое там находится, будет автоматически преобразовано в логическое по правилам преобразования типов. В данном случае (преобразование строки в булевскую переменную) правило такое: "false, если исходное значение — пустая строка или Undefined; true в остальных случаях"
  • 0


Оформление форума – IPBSkins.ru