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

Реферальная программа Мегаплана


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

#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

#2 yury

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

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

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

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


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