Объясните пожалуйста конструкцию
Что вернет функция, если она имеет такую конструкцию:
function a(e){
........
return b,
c,
d
}
То есть, если возвращаемые значения указаны через запятую, что она вернет? Столкнулся с такой конструкцией первый раз. Вот полный пример такой функции:
function getHref(e) {
if (!e) return !1;
var t = !1;
return e.getAttribute && (t = e.getAttribute("data-href") || e.getAttribute("href")),
t || (e.pathname ? t = e.pathname + e.search + e.hash : tag(e) || (t = e)),
t || !1
}
|
Цитата:
Т.к. запятая выполняет оба операнда (слева направо) и возвращает значение второго оператора. Т.е. сначала запятая отбросит b и вернет c, затем отбросит с и вернет d; |
Цитата:
А какой смысл в такой конструкции? Тогда логичнее наверно писать:
function(){
...
b,
c;
return d
}
Цитата:
|
Urfin, может имеет смысл учебник прочитать? Про запятую вот хорошая статья — http://habrahabr.ru/post/116827/
|
Decode, ок, спасибо. Искал здесь в справочнике, ответа не нашел, буду читать учебник.
Но суть я пока не понял что делает эта функция. |
Decode спасибо за ссылку.
Все понял, разобрался. |
Urfin, вам еще таблица приоритетов операторов понадобиться.
|
Цитата:
Короче слышали фразу "свистелки и перделки" - оно самое. |
Цитата:
Но сайт на этом коде работает очень не плохо. Это с мобильного Вконтаке функция. |
Во-во, не удивлюсь что программистами там пашуть волонтеры с того же самого вконтакта, то есть сами на тех же веществах, откуда и стиль.
Цитата:
Потому что грядет байткод - покайтесь! |
| Часовой пояс GMT +3, время: 12:34. |