Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   И функция и объект одновременно (https://javascript.ru/forum/misc/66609-i-funkciya-i-obekt-odnovremenno.html)

xShift 27.12.2016 13:17

И функция и объект одновременно
 
Собственно, думал над тем как сделать нечто подобное.

Есть некий объект содержащий функции:

var object = {
	function1: function(a) {
		console.log(a)
	},
	function2: function(a) {
		console.log(a)
	}
}

object.function1('123');


Хочется сделать так, чтобы этот объект и сам по себе являлся функцией и до кучи предоставлял доступ к внутренним методам.

Например так:

object('123').function1(''bla bla bla);


и еще одновременно так:

object.functionX('bla bla bla');


тоесть без аргументов вызова, но просто как объект.

Есть ли какие-то варианты как это реализовать?:write:

ksa 27.12.2016 13:30

Цитата:

Сообщение от xShift
Хочется сделать так, чтобы этот объект и сам по себе являлся функцией и до кучи предоставлял доступ к внутренним методам.

Как вариант...

function test(){
	alert('Start "test"');
	return test;
};
test.fnc1=function (){
	alert('Start "fnc1"');
};
test();
test.fnc1();
test().fnc1();

xShift 27.12.2016 13:45

Цитата:

Сообщение от ksa (Сообщение 439059)
Как вариант...

function test(){
	alert('Start "test"');
	return test;
};
test.fnc1=function (){
	alert('Start "fnc1"');
};
test();
test.fnc1();
test().fnc1();


Спасибо! Видимо по другому ни как ...


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