Hallo Forum,
hab mal wieder eine Frage. Ich möchte ein Objekt mit diversen Eigenschaften an eine Funktion übergeben, wobei einige Eigenschaften Namen von Variablen sind (varVisu), in welche die Funktion Werte schreiben soll.
Objekt sieht z.B. so aus:
comm.varRdZyk = {
// Parameter für Lesen
indexGroup: indexGroups.M,
firstByte: 50,
readLength: 78,
runAfterPoll: anzeig.aktualAnzeig,
refreshTime: 10000,
//Zuordnungen
alloc: {
fenstKZ: {
varVisu: anzeig.fenst.kz,
varPlcType: 'BOOL',
varPlcAddr: 50
},
fenstSZ: {
varVisu: anzeig.fenst.sz,
varPlcType: 'BOOL',
varPlcAddr: 61
},
fenstWZOstLi: {
varVisu: anzeig.fenst.wz.ostLi,
varPlcType: 'BOOL',
varPlcAddr: 200
},
......
}
}
Mir fallen jetzt 2 Möglichkeiten ein. Entweder übergebe ich den Variablennamen als String und nutze eval() oder ich übergebe Objekte und lasse mir die Werte in eine Eigenschaft schreiben. Von eval() wird ja ständig abgeraten, auch aus Performance-Gründen. Die Liste hat ca. 70-80 Unterobjekte wie "fenstKZ" und soll ca. alle 200 ms abgearbeitet werden.
Was ist besser?
Schon mal vielen Dank,
Tom