peterS.: javascript prototype

Beitrag lesen

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:)