Und zum Schluss nochmal was wegen dem Geschwindigkeitsvorteil, von dem du sprachst:
function test()
{
var l= 1000;
var t1 = eval_test(l);
var t2 = no_eval_test(l);
alert('mit eval:' + t1 + '\nohne eval:' + t2);
}
function eval_test(l)
{
var t1 = new Date();
for(var i = 0; i < l;i++)
{
var obj = eval('t'+ '.style');
obj.backgroundColor = (i % 2) ? '#000' : '#fff';
}
var t2 = new Date();
return t2.getTime() - t1.getTime();
}
function no_eval_test(l)
{
var t1 = new Date();
for(var i = 0; i < l;i++)
{
var obj = document.all['t'].style;
obj.backgroundColor = (i % 2) ? '#000' : '#fff';
}
var t2 = new Date();
return t2.getTime() - t1.getTime();
}
Die eval Variante ist 50% bis 100% langsamer, als ohne.
Struppi.