Questo è un esempio discusso tempo fa
1) stringa non ottimizzata
codice:
function Button2_onclick()
{
if(typeof(sjs) == 'undefined') {alert('vettore non caricato');return;};
var o = new TempoOperazione();
o.Start();
var sb = "<select>";
for(var i = 0; i < sjs.length; i++)
sb += '<option value="' + sjs[i][0] + '">' + sjs[i][1] + '</option>';
sb += "</select>";
$("div1").innerHTML = sb;
alert(o.Secondi());
}
2) stringa ottimizzata
codice:
function Button1_onclick()
{
if(typeof(sjs) == 'undefined') {alert('vettore non caricato');return;};
var o = new TempoOperazione();
o.Start();
var sb = ["<select>"];
for(var i = 0, j = sjs.length; i < j; i++)
sb.push('<option value="', sjs[i][0], '">', sjs[i][1], '</option>');
sb.push("</select>");
$("div1").innerHTML = sb.join("");
alert(o.Secondi());
};
con IE7 la differenza tra le due soluzioni è 0.172 secondi contro 22.3 secondi
(in un test informale)
Con Opera e Firefox non serve ottimizzare perchè ottimizzano da soli ed i tempi, sempre nel solito test informale è dell'ordine di 0.1-0.3 secondi