Показать сообщение отдельно
  #2 (permalink)  
Старый 09.05.2011, 10:38
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от revvo Посмотреть сообщение
Я не недавно работаю с js, и некоторые вещи мне трудно понять. Подскажите, как понимать эту конструкцию?
img.width = data.width || "320";

В каком случае будет присваиваться data.width, а в каких 320?
идет приведение в булеву типу, а значит, что

FALSE будут иметь такое :
  • undefined
  • null
  • NaN
  • '' (пустая строка)
  • 0 ( нолик )
  • сам false,конечно же

ИЛИ работает так: если по левую сторону находится FALSE, то начинает обрабатываться то,что справа, пока не будет true. Если по левую сторону находится TRUE, то то,что справа,не будет высчитываться и вернется первое в результате

320 как раз дает true.

т.е.

в примере
img.width = data.width || "320";


"если высота картинки равна нулю, то она становится 320, иначе data.width"
Ответить с цитированием