Originariamente inviato da Xinod
var wh="Width" // x es. potrebbe essere "Height"
var misura=eval("document.getElementById('tuoId').offs et"+wh);
// esempio appunto per evitare eval ...
var wh="Width" // x es. potrebbe essere "Height"
var misura = document.getElementById('tuoId')["offset" + wh];


Originariamente inviato da Xinod
se non valuti non puoi tenere parte del nome della proprieta' come una variabile
un pò forviante come dichiarazione ... (lo dico per lui, vedi esempio appena mostrato)


Originariamente inviato da Xinod
eval e' da evitare, ovunque si possa, perche' potrebbe non essere supportato dai browser in futuro
non mi risulta ... spero non ti stia sbagliando anche tu con object.eval, tutt'altra cosa ...


Originariamente inviato da Xinod
e perche' nel 99% dei casi e' sostituibile con costrutti piu' scorrevoli
giusto, anche più puliti, facili da debuggare, pensati logicamente parlando


Originariamente inviato da Xinod
e dalle performance migliori
purtroppo non è sempre vero, eval in certi casi permette di fare "alchimie" altrimenti lente il 3000% in più ... mi sono dovuto arrendere ad eval proprio in una delle mie ultime classi per evitare di aspettare 5 secondi ... contro 10 millesimi ...


eval solitamente è meglio non usarlo, eval può permettere ad altri di modificare stringhe valutate e di far danni allo script, come accade con i linguaggi servers se basati su eval, ed inoltre lascia "alla macchina" fare le operazioni, non allo sviluppatore (machine does machine il detto ... o qualcosa del genere).

la cosa da tenere a mente però ... è che in tutto questo, innerHTML non c'entra una fava


[edit]
per chi volesse approfondire il discorso eval ...

JavaScript 2.0 ... che "ancora deve uscire ufficialmente":
http://developer.mozilla.org/present...cript/#slide34
eval ? presente

vecchia discussione in merito
http://forum.html.it/forum/showthrea...readid=1002586

scaturito da un altro post:
http://forum.html.it/forum/showthrea...498&perpage=15