gruss Tobias,
die neue funktionalität wird aber nur auf das object vererbt dass
ich grad parse.
...
-> var obj = new Con();
-> for (methodName in obj) {.....oder seh ich das falsch?
nein, und das dies die einzige moeglichkeit ist, schon geschaffene
"Con"-objekte mit neuer funktionalitaet auszustatten, habe ich auch
gleich bei meiner ersten antwort angedeutet:
https://forum.selfhtml.org/?t=87607&m=521124
Wie überschreibt man in javascript methoden die nicht mit
prototype sondern im constructor erstellt worden sind?ausschliesslich am einzelnen objekt;
wenn nein:
wie vererbe ich die änderung auf alle objekte der klasse "Con"?
indem Du Dir jedes einzelne "Con"-objekt zur brust nimmst und
im sinne der von mir schon beschriebenen beispiele erweiterst;
oder wie komme ich an all die objekte ran die VORHER erzeugt wurden?
bei diesem problem kann ich Dir nicht wirklich helfen;
falls Du die kontrolle beim erzeugen solcher objekte hast,
kannst du deren referenzen ja z.b. im objekt "Con.elements = [];"
speichern;
hier mein test case:
...
// ab hier "kenn" ich das script
...
for (methodName in obj)
{
if ((typeof obj[methodName] == "function"))
{
if(!obj.constructor.prototype[methodName])
{
objMethodStr = obj[methodName].toString();
Con.prototype.show_1 = function(text)
-------------^^^^^^^^^^^^^^^^
dies wirkt sich nur auf noch zu erzeugende "Con"-objekte aus,
denn bei den schon existierenden objekten hat der konstruktor
augenblicklich die gleichlautende prototypen-methode, ueber-
schrieben, falls eine solche existierte;
{
objMethodStr();
};
}prototypeFct = obj.constructor.prototype[methodName];
obj[methodName] = function()
{
prototypeFct();
alert("---> saved!");
};
}
}var obj_new = new Con();
by(t)e by(t)e - peterS. - pseliger@gmx.net
br:& n3:} n4:# ie:| mo:{ va:| de:[ zu:] fl:) ss:) ls:& js:)