Hallo!
Ich habe ein Javascript Objekt das etwa so aussieht:
var test = function() {
this.value = „“;
this.testFunc = function(…) {
…
}
}
var t = new test();
Nun möchte ich wissen ob und wie es geht
dass ich z.B. mit
var v = t.testfunc;
die Variable value bekomme und mit
t.testfunc = „newValue“;
die variable setzen kann.
Ist soetwas möglich?
MFG, Volker
Hallo Volker,
ob es möglich ist: Ja.
Wie es möglich ist: Wie Du es gemacht hast.
Schöne Grüße,
Mohamed.
Hallo!
Leider funktioniert es nicht!
ich hab jetzt folgendes versucht:
var test = function() {
this.value = 0;
this.testFunc = function(v) {
if (v)
this.value = v;
else
return this.value;
}
}
var t = new test();
alert(t.testFunc());
// hier bekomme ich die funktion selbst.
t.testFunc = 3;
alert(t.testFunc());
// fehlermeldung (keine Funktion), da die Funktion überschrieben wurde.
Hast du vielleicht ein funktionierendes Beispiel?
Grüße,
volker
t.testFunc = 3;
alert(t.testFunc());
Wenn Du willst, dass „3“ ausgegeben wird:
alert(t.testFunc);
Schöne Grüße,
Mohamed.
Hallo!
Ich glaub ich habs anfangs nicht gut erklärt. Was ich meine ist, dass ich funktionen wie variablen ansprechen kann:
object.testFunc = 3
soll im objekt eine functiono aufrufen un ihr den wert 3 übergeben.
Genauso beim auslesen:
alert(object.testFunc);
soll eine funktion aufrufen (eine andere als beim schreiben) die den wert 3 wieder übergibt.
Unter Delphi hat das z.B. etwa so ausgesehen:
property test read getValue write setValue;
mit den funktionen
function getValue() {… return …; }
und
function setValue(value) {…}
Ich hoffe, dass es so verständlicher ist als in meinem ersten post.
MFG, Volker
ich hab jetzt folgendes versucht:
var test = function() {
this.value = 0;
this.testFunc = function(v) {
if (v)
this.value = v;
else
return this.value;
}
}
var t = new test();
alert(t.testFunc());
// hier bekomme ich die funktion selbst.
t.testFunc = 3;
das darfst du natürlich nicht machen! Es muss wenn dann heissen:
t.testFunc(3);