Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Объясните пожалуйста конструкцию (https://javascript.ru/forum/misc/57032-obyasnite-pozhalujjsta-konstrukciyu.html)

Urfin 16.07.2015 00:57

Объясните пожалуйста конструкцию
 
Что вернет функция, если она имеет такую конструкцию:

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
}

Decode 16.07.2015 01:14

Цитата:

Сообщение от Urfin
Что вернет функция, если она имеет такую конструкцию:

function a(e){
........
    return b,
    c,
    d
}


То есть, если возвращаемые значения указаны через запятую, что она вернет?

Вернет последнее, т.е. d.

Т.к. запятая выполняет оба операнда (слева направо) и возвращает значение второго оператора.

Т.е. сначала запятая отбросит b и вернет c, затем отбросит с и вернет d;

Urfin 16.07.2015 01:32

Цитата:

Сообщение от Decode
Вернет последнее, т.е. d.

Т.к. запятая выполняет оба операнда (слева направо) и возвращает значение второго оператора.

Т.е. сначала запятая отбросит b и вернет c, затем отбросит с и вернет d;

Хм, спасибо, интересно.
А какой смысл в такой конструкции?
Тогда логичнее наверно писать:
function(){
    ...
    b,
    c;
return d
}


Цитата:

Сообщение от Decode
Urfin, только в вашем примере используется логическое ИЛИ.

И что это значит?

Decode 16.07.2015 01:37

Urfin, может имеет смысл учебник прочитать? Про запятую вот хорошая статья — http://habrahabr.ru/post/116827/

Urfin 16.07.2015 01:44

Decode, ок, спасибо. Искал здесь в справочнике, ответа не нашел, буду читать учебник.
Но суть я пока не понял что делает эта функция.

Urfin 16.07.2015 02:03

Decode спасибо за ссылку.
Все понял, разобрался.

Decode 16.07.2015 02:27

Urfin, вам еще таблица приоритетов операторов понадобиться.

kostyanet 16.07.2015 08:14

Цитата:

Сообщение от Urfin
Вот полный пример такой функции:

Есть особый класс чиканутых программистов, которые не могут избежать острого чувства самовыражения и пишут вот такие полные ярких моментов жизни примеры функций.

Короче слышали фразу "свистелки и перделки" - оно самое.

Urfin 16.07.2015 16:12

Цитата:

Сообщение от kostyanet (Сообщение 379933)
Есть особый класс чиканутых программистов, которые не могут избежать острого чувства самовыражения и пишут вот такие полные ярких моментов жизни примеры функций.

Короче слышали фразу "свистелки и перделки" - оно самое.

Ну да, соглашусь, что в оригинальности самовыражения этим программистам не откажешь. Такой Эзопов язык своего рода.
Но сайт на этом коде работает очень не плохо.
Это с мобильного Вконтаке функция.

kostyanet 16.07.2015 16:26

Во-во, не удивлюсь что программистами там пашуть волонтеры с того же самого вконтакта, то есть сами на тех же веществах, откуда и стиль.

Цитата:

Сообщение от Urfin
работает очень не плохо.

Вы что, измерения проводили? Сравнительные характеристики? Не важно. Важно знать что брать пример надо с вменяемых людей, а не с вконтактовских хуйдожников.

Потому что грядет байткод - покайтесь!


Часовой пояс GMT +3, время: 09:06.