hi peter,
echt sehr cool! thx a lot!
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?
wenn nein:
wie vererbe ich die änderung auf alle objekte der klasse "Con"?
oder wie komme ich an all die objekte ran die VORHER erzeugt wurden?
hier mein test case:
// **********************************
var Con = function()
{
this.show_1 = function(text)
{
alert("none prototype method "show_1"");
};
};
Con.prototype.show_2 = function(text)
{
alert("prototype method "show_2"");
};
var obj_old = new Con();
// ab hier "kenn" ich das script
var obj = new Con();
var objectFct, prototypeFct;
for (methodName in obj)
{
if ((typeof obj[methodName] == "function"))
{
if(!obj.constructor.prototype[methodName])
{
objMethodStr = obj[methodName].toString();
Con.prototype.show_1 = function(text)
{
objMethodStr();
};
}
prototypeFct = obj.constructor.prototype[methodName];
obj[methodName] = function()
{
prototypeFct();
alert("---> saved!");
};
}
}
var obj_new = new Con();
</script>
</head>
<body>
<a href='javascript:obj_old.show_1("test")'>test 1 old</a><br>
<a href='javascript:obj_old.show_2("test")'>test 2 old</a><br>
<a href='javascript:obj.show_1("test")'>test 1</a><br>
<a href='javascript:obj.show_2("test")'>test 2</a><br>
<a href='javascript:obj_new.show_1("test")'>test 1 new</a><br>
<a href='javascript:obj_new.show_2("test")'>test 2 new</a><br>
</body>
</html>