Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.07.2015, 00:57
Аспирант
Отправить личное сообщение для Urfin Посмотреть профиль Найти все сообщения от Urfin
 
Регистрация: 22.07.2009
Сообщений: 85

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

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
}

Последний раз редактировалось Urfin, 16.07.2015 в 01:02.
Ответить с цитированием
  #2 (permalink)  
Старый 16.07.2015, 01:14
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

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

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


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

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

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

Последний раз редактировалось Decode, 16.07.2015 в 02:25.
Ответить с цитированием
  #3 (permalink)  
Старый 16.07.2015, 01:32
Аспирант
Отправить личное сообщение для Urfin Посмотреть профиль Найти все сообщения от Urfin
 
Регистрация: 22.07.2009
Сообщений: 85

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

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

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


Сообщение от Decode
Urfin, только в вашем примере используется логическое ИЛИ.
И что это значит?
Ответить с цитированием
  #4 (permalink)  
Старый 16.07.2015, 01:37
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

Urfin, может имеет смысл учебник прочитать? Про запятую вот хорошая статья — http://habrahabr.ru/post/116827/
Ответить с цитированием
  #5 (permalink)  
Старый 16.07.2015, 01:44
Аспирант
Отправить личное сообщение для Urfin Посмотреть профиль Найти все сообщения от Urfin
 
Регистрация: 22.07.2009
Сообщений: 85

Decode, ок, спасибо. Искал здесь в справочнике, ответа не нашел, буду читать учебник.
Но суть я пока не понял что делает эта функция.
Ответить с цитированием
  #6 (permalink)  
Старый 16.07.2015, 02:03
Аспирант
Отправить личное сообщение для Urfin Посмотреть профиль Найти все сообщения от Urfin
 
Регистрация: 22.07.2009
Сообщений: 85

Decode спасибо за ссылку.
Все понял, разобрался.
Ответить с цитированием
  #7 (permalink)  
Старый 16.07.2015, 02:27
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

Urfin, вам еще таблица приоритетов операторов понадобиться.
Ответить с цитированием
  #8 (permalink)  
Старый 16.07.2015, 08:14
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

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

Короче слышали фразу "свистелки и перделки" - оно самое.
Ответить с цитированием
  #9 (permalink)  
Старый 16.07.2015, 16:12
Аспирант
Отправить личное сообщение для Urfin Посмотреть профиль Найти все сообщения от Urfin
 
Регистрация: 22.07.2009
Сообщений: 85

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

Короче слышали фразу "свистелки и перделки" - оно самое.
Ну да, соглашусь, что в оригинальности самовыражения этим программистам не откажешь. Такой Эзопов язык своего рода.
Но сайт на этом коде работает очень не плохо.
Это с мобильного Вконтаке функция.
Ответить с цитированием
  #10 (permalink)  
Старый 16.07.2015, 16:26
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

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

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

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Объясните пожалуйста imediasun1 Элементы интерфейса 0 23.03.2013 16:59
Объясните, пожалуйста мне, что такое значение reference dump Общие вопросы Javascript 1 21.07.2012 18:31
Пожалуйста, объясните что мне сделать с этим... someLogin Events/DOM/Window 2 16.10.2011 22:47
объясните пожалуйста строчку в коде javascript Armen Общие вопросы Javascript 1 28.06.2009 18:34
Объясните пожалуйста значение символов после переменной Анатолий Общие вопросы Javascript 1 09.01.2009 03:50