Soweit nichts neues, aber jetzt:
alert(dict("a")); //gleiche Funktion wie Item()Huch - Methodenaufruf ohne expliziten Namen?
Wie nennt man denn das in der objektorientierten Welt?
keine Anhnung
Kann man sowas auch in Javascript realisierten - z.B. in der Klasse mydict?
function mydict(){
this.Item = function(key){machwas}
}
nein. da die Funktion mydict() ein Konstruktor ist, den du mit new mydict() aufrufst und dann ein Objekt erhälst.
var obj = new mydict();
Dann geht aber obj() nicht, da obj keine Funktion ist.
du kannst aber mydict eine Funktion zurückgeben lassen, der du dann die entsprechenden Funktion zuweist.
z.b. so:
function myclass ()
{
var self = function(x)
{
alert(x);
}
var o = {};
self.param = function(k, v)
{
if(typeof k == 'undefined') return o;
if(typeof v == 'undefined') return o[k];
o[k] = v;
return o[k];
}
return self;
}
var x = new myclass();
var y = new myclass();
x.param('a', 'Der wert von a in x')
y.param('a', 'Der wert von a in y')
alert( x.param('a')
+ '\n' +
y.param('a') ) ;
Das geht u.U. auch sauberer.
Struppi.
--
Javascript ist toll (Perl auch!)
Javascript ist toll (Perl auch!)