Объясните пожалуйста конструкцию
Что вернет функция, если она имеет такую конструкцию:
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, время: 09:06. |