Einer JS function einen wert zuweisen?

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