Помогите с пониманием наследования
Собственно, задача такая:
есть глобальная функция 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, время: 21:46. |