Hallo,
man wird - hier auch - immer wieder darauf hingewisen, dass "eval() ist evil!".
Das möchte ich hinterfragen. Warum soll eval() so "böse" sein?
z.B.
Ich kann so eine Schleife haben:
for(i=0; i < arrSubMenu.length; i++ )
{
if(arrSubMenu[i] == strSubID)
{
eval(arrSubMenu[i] + ".style.backgroundColor = '#e3e3e3'");
eval(arrSubMenu[i] + ".style.fontWeight = 'bold'");
...
}
else
{
eval(arrSubMenu[i] + ".style.backgroundColor = '#F5F7F4'");
eval(arrSubMenu[i] + ".style.fontWeight = 'normal'");
...
}
}
Aber es geht auch so:
for(i=0; i < arrSubMenu.length; i++ )
{
with(document.all(arrSubMenu[i]).style)
{
if(arrSubMenu[i] == strSubID)
{
backgroundColor = "#e3e3e3";
fontWeight = "bold";
...
}
else
{
backgroundColor = "#F5F7F4";
fontWeight = "normal";
...
}
}
}
Was ist der wirkliche Unterschied? (und ich meine jetzt nicht die Tatsache, dass ich der zweiten Version mehrere Anweisungen an einem Objekt knüpfen kann)
Gibt es (wirklich) einen Performanceunterschied?
Warum ist also eval() böse?
Grüße
Thomas