Просмотр полной версии : "Или" в выражении
Я не недавно работаю с js, и некоторые вещи мне трудно понять. Подскажите, как понимать эту конструкцию?
img.width = data.width || "320";
В каком случае будет присваиваться data.width, а в каких 320?
Я не недавно работаю с 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"
poorking
11.05.2011, 08:59
melky,
"если высота картинки равна нулю, то она становится 320, иначе data.width"
Че то не то) если data.width, то data.width, иначе 320
var img = {
width: 0
}
var data = {
width: 10
}
img.width = data.width || 320;
alert(img.width);
data.width = 0;
img.width = data.width || 320;
alert(img.width);
melky,
Че то не то) если data.width, то data.width, иначе 320
ну высота ведь не может быть FALSE :D
только ноль, или "не установлено", или строка
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot