Rolf B: Javascript und XMLHttpRequest

Beitrag lesen

Hallo piet,

bitte bleibe nicht dabei. EVAL IS EVIL - in PHP und JavaScript gleichermaßen. Du bekommst diesen String von einem Fremdsystem und musst ihm darum misstrauen. Mit EVAL kann im Zweifelsfall beliebiger Code im Browser des Users ausgeführt werden.

Abgesehen davon ist die Zeile eval('wert.'+var_name) für die Javascript-Engine eine Katastrophenzone. Im Normalfall kann der Just-in-time Compiler deinen Code beim Laden einmal compilieren und optimieren, aber einen eval geht das nicht. Welche Kollateralschäden das für die Compilierung des Gesamtscripts hat, kann ich nicht absehen.

Es geht fast immer besser. Wenn die Variable wert ein Objekt enthält und Du daraus eine Eigenschaft auslesen willst, deren Name in var_name steht, dann brauchst Du kein eval. Das geht viel einfacher mit der Array-Syntax:

var_wert = wert[var_name];

Rolf

--
sumpsi - posui - clusi