Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Создать метод функции (https://javascript.ru/forum/misc/49678-sozdat-metod-funkcii.html)

Zzz_jameson_zzZ 23.08.2014 21:31

Создать метод функции
 
Доброго времени суток. Как создать метод функции? Т.е. чтобы было на подобие этого:
func().method(); Давно видел подобную тебе на этом форуме, но сейчас найти не смог. Буду рад, если кините ссылку или дадите ответ в этой теме.

Aetae 23.08.2014 21:38

На самом деле в данном случае это будет не метод функции, а метод того, что вернула функция. Метод функции это func.method().
А так простейший ваниант:
function func(a){
    return {
        method: function(b){alert(a + ' ' + b)}
    }
}
func('Hello').method('world!')

Естесно в рабочем коде лишние объекты\функции не плодятся каждый раз, а возвращается ссылка.

MallSerg 23.08.2014 22:04

Почти всегда так делаю
http://javascript.ru/forum/misc/4962...tml#post326928
Такой механизм создает замыкание
он позволяет сохранять переменные в функции что позволяет не засирать глобальную область видимости и избегать конфликтов
да и сам вызов методов через цепочку .x().y().z() прост удобен и понятен

Zzz_jameson_zzZ 23.08.2014 22:07

Aetae,
Спасибо, буду знать

рони 23.08.2014 22:19

:)
http://javascript.ru/forum/misc/4403...i-vyzovov.html
http://javascript.ru/forum/misc/1455...ajjmautom.html
http://javascript.ru/forum/misc/2588...ye-vyzovy.html
http://javascript.ru/forum/misc/6967...-funkcijj.html
http://javascript.ru/forum/misc/3574...struktura.html

Zzz_jameson_zzZ 23.08.2014 22:21

рони,почитаю обязательно

HJ90 25.08.2015 22:29

Подскажите пожалуйста.
Если мне нужно вызвать функцию без метода, можно ли метод не возвращать без необходимости?

Например в jQuery $('#el') возвращает элемент
а $('#el').method('') применяет методы к этому элементу.

Или как правильно это называется?

рони 25.08.2015 23:08

HJ90,
ещёб понять чего ты хочешь? :-?

HJ90 26.08.2015 00:12

Цитата:

Сообщение от рони (Сообщение 385683)
HJ90,
ещёб понять чего ты хочешь? :-?

Хочу для себя понять как можно делать такую конструкцию функий и методов как в jquery. Пересмотрел много материала но так и ничего не получилось.

Вот задумал написать функцию которая бы например что-то возвращала.
И добавить ей методы которые при вызове дополнительно бы обрабатывали результ функции.

Но чтобы методы относились именно к этой функции а не глобально ко всем.

Пример из этого топика от Aetae всегда возвращает объект с методами еслы сделать просто func('Hello').

Rise 26.08.2015 01:01

Цитата:

Сообщение от HJ90 (Сообщение 385677)
Если мне нужно вызвать функцию без метода, можно ли метод не возвращать без необходимости?

Нельзя


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