Должны ли функции всегда возвращать что-то (Javascript) - PullRequest
17 голосов
/ 05 августа 2010

Должны ли функции всегда возвращать что-то? Я часто пишу очень простые функции, которые используются в качестве кратких обозначений для выполнения таких часто встречающихся вещей, как:

function formsAway() {
    $("#login_form, #booking_form").slideUp();
}

Должна ли эта функция существовать - есть ли лучший способ или это нормально?

Ответы [ 4 ]

19 голосов
/ 05 августа 2010

Им не нужно ничего возвращать. Если вы оставите это поле пустым, он просто вернет 'undefined', что в данном случае хорошо, потому что вы никогда не собираетесь использовать возвращаемое значение. Синтаксис Javascript довольно упрощен и, насколько я знаю, просто нет никакого реального различия между функциями, которые делают, и функциями, которые не возвращают значение (кроме ключевого слова return)

4 голосов
/ 14 января 2014

Все функции JavaScript возвращают что-то. Если явное возвращение опущено, undefined возвращается автоматически. Когда функция возвращается, ее экземпляр стирается из памяти, что также освобождает все переменные в ее области видимости, если на них ничего не указывает. Без принудительного возврата управление памятью пришлось бы делать вручную.

2 голосов
/ 28 марта 2013

Насколько мне известно, если вам не нужно что-то возвращать, функция не должна ничего возвращать.

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

2 голосов
/ 05 августа 2010

Должны ли функции всегда возвращаться что-то?

Я считаю, что это полностью зависит от использования функции.

есть ли лучший способ, или это штраф?

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...