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

рони 26.08.2015 01:09

HJ90,
:-?
свойство-f-prototype

tsigel 26.08.2015 11:06

HJ90,
var Some = function () {};
Some.prototype.method1 = function () {
   console.log(1);
   return this;
};

Some.prototype.method2 = function () {
   console.log(2);
   return this;
};

Some.prototype.method3 = function () {
   console.log(3);
   return this;
};

var some = new Some();
some.method1().method2().method3().method1().method2().method3();//...

HJ90 26.08.2015 13:33

tsigel, спасибо за ответ!

Но вот Some('') или some('') отдельно как функцию мы уже не можем использовать. Только вместе с методами.

Как же в jquery это сделано...
$('#el')
$('#el').method('')

Ведь $ это обычная функция
а всякие css, attr - объекты внутри этой функции

tsigel 26.08.2015 13:41

HJ90,
var $ = function (some) {
   if (!(this instanceof $)) {
      return new $(some);
   }
   console.log(some);
};
$.prototype.method1 = function () {
   console.log(1);
   return this;
};

$.prototype.method2 = function () {
   console.log(2);
   return this;
};

$.prototype.method3 = function () {
   console.log(3);
   return this;
};

$('test').method1().method2().method3().method1().method2().method3();//...
$('test').method1();
var t = $('test');
t.method2();

HJ90 26.08.2015 14:11

tsigel, о! ..То что я хотел.

2 дня потратил и без толку.
Но меня уже затянуло разобраться в этом.

Спасибо большое за пример!


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