Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Расширить метод прототипа (https://javascript.ru/forum/misc/32379-rasshirit-metod-prototipa.html)

PashPP 14.10.2012 14:52

Расширить метод прототипа
 
Есть класс2, унаследовавший от класс1 функцию ф1.

Как сделать так, чтоб класс2 имел эту самую функцию ф1, но расширенную строчкой "делай это", например?

Dim@ 14.10.2012 14:58

как вариант
класс2.prototype.ф1 = function () {
класс1.prototype.ф1();
делай это;
}

PashPP 14.10.2012 15:16

Dim@,
тогда, наверно и call надо, не?

класс2.prototype.ф1 = function () {
класс1.prototype.ф1.call(this);
делай это;
}

nerv_ 14.10.2012 15:22

http://learn.javascript.ru/decorators
Еще есть такая тема, как каррирование. Но здесль лучше читать JavaScript. Шаблоны [Стоян Стефанов].

PashPP 14.10.2012 16:23

nerv_,
Спасибо, годно.

Только в нашем случае при
класс2.prototype.ф1 = function () {
 класс1.prototype.ф1.call(this);
 делай это;
 }


И происходит же это декорирование, просто без лишнего присваивания и функция-декоратор сразу = нашей функцие. не?

Maxmaxmахimus 14.10.2012 21:15

для этого есть специальная функция Class )))

В этой теме она немного рассмотрена
http://javascript.ru/forum/misc/3215...y-i-cikly.html

Hekumok 14.10.2012 21:47

Maxmaxmахimus, так когда уже статью-то запилишь? :)


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