Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.10.2012, 14:52
Профессор
Отправить личное сообщение для PashPP Посмотреть профиль Найти все сообщения от PashPP
 
Регистрация: 26.07.2012
Сообщений: 281

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

Как сделать так, чтоб класс2 имел эту самую функцию ф1, но расширенную строчкой "делай это", например?
Ответить с цитированием
  #2 (permalink)  
Старый 14.10.2012, 14:58
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

как вариант
класс2.prototype.ф1 = function () {
класс1.prototype.ф1();
делай это;
}
Ответить с цитированием
  #3 (permalink)  
Старый 14.10.2012, 15:16
Профессор
Отправить личное сообщение для PashPP Посмотреть профиль Найти все сообщения от PashPP
 
Регистрация: 26.07.2012
Сообщений: 281

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

класс2.prototype.ф1 = function () {
класс1.prototype.ф1.call(this);
делай это;
}
Ответить с цитированием
  #4 (permalink)  
Старый 14.10.2012, 15:22
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

http://learn.javascript.ru/decorators
Еще есть такая тема, как каррирование. Но здесль лучше читать JavaScript. Шаблоны [Стоян Стефанов].
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук

Последний раз редактировалось nerv_, 14.10.2012 в 15:27.
Ответить с цитированием
  #5 (permalink)  
Старый 14.10.2012, 16:23
Профессор
Отправить личное сообщение для PashPP Посмотреть профиль Найти все сообщения от PashPP
 
Регистрация: 26.07.2012
Сообщений: 281

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

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


И происходит же это декорирование, просто без лишнего присваивания и функция-декоратор сразу = нашей функцие. не?
Ответить с цитированием
  #6 (permalink)  
Старый 14.10.2012, 21:15
Аватар для Maxmaxmахimus
司会
Отправить личное сообщение для Maxmaxmахimus Посмотреть профиль Найти все сообщения от Maxmaxmахimus
 
Регистрация: 29.02.2012
Сообщений: 198

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

В этой теме она немного рассмотрена
Объекты, прототипы и циклы
Ответить с цитированием
  #7 (permalink)  
Старый 14.10.2012, 21:47
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

Maxmaxmахimus, так когда уже статью-то запилишь?
__________________
★ ²º¹³ ☆
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Объект не поддерживает это свойство или метод load_081112_0953.js 1auto1 Общие вопросы Javascript 1 13.04.2011 22:09
Объект не поддерживает это свойство или метод load_081112_0953.js 1auto1 Internet Explorer 1 13.04.2011 21:59
Передача полю объекта - массиву, значения элемента через set метод poorking Общие вопросы Javascript 1 13.02.2011 20:22
Как узнать у какого объекта вызван метод. Scalar Events/DOM/Window 4 26.03.2010 11:10
Добавить свой метод к элементу alekciy Events/DOM/Window 6 16.02.2009 19:29