Помогите с пониманием наследования
Собственно, задача такая:
есть глобальная функция setContent, которая добавляет к BODY некий контент. нужно - написать функцию, которая "перехватывает" setContent и добавляет к ее контенту добавочное содержимое. function setContent() { var p = document.createElement("DIV"); p.innerHTML = "<p>I get this data from somewhere and i pit this into BODY</p>"; document.body.appendChild(p); } // хочу написать функцию, которая использует работу setContent и добавляет ей еще немного работы: function myContent() { setContent.call(...) // нужно использовать эти методы? Если да, то как?.. myFunc.prototype=setContent; // или использовать прототип? function myFunc() { // если прототип, то каким образом влиять на него в контексте наследника?.. var str="<b>добавьте меня, плииииззз...</b>" // вот это хочу добавить к контенту из setContent, как?... } } |
Насколько я понимаю...
- Наследование применяется к объектам - Наследование не даёт "перехвата" некой функции |
переопредели функцию и всё или же перепиши начальную, по другому не выйдет.
|
Цитата:
(мне с примерами легче воспринимать) |
Цитата:
function setContent(){ alert(1); } function setContent(){ alert(2); } setContent() |
ну а как же быть с обязательной необходимостью сохранения собственно контента?..
setContent добавляет объект в ДОМ, переопределение не даст возможности это добавление модернизировать поскольку переопределением этот объект будет убит... |
Цитата:
function setContent() { var p = document.createElement("DIV"); p.innerHTML = "<p>I get this data from somewhere and i pit this into BODY</p>"; document.body.appendChild(p); } function setContent() { var p = document.createElement("DIV"); p.innerHTML = "<p>I get this data from somewhere and i pit this into BODY допиши то что надо и где надо и всё</p>"; document.body.appendChild(p); } |
это в моем примере innerHTML для простоты указан, в исходной задаче - данные приходят аяксом динамически и могут быть какими угодно...
а нет ли в спецификации каких-либо системных событий, предществующих записи в ДОМ?.. |
Ты конечно меня не понял, ну ладно.
Смотри тут |
Имелось ввиду вот это:
function setContent(msg) { alert(msg) } setContent('Вася') setContent = function(old) { return function(msg){ old(msg + '-дурак') } }(setContent) setContent('Вася') |
Часовой пояс GMT +3, время: 12:37. |