У меня есть немного кода, который выглядит примерно так:
function StrippedExample(i1, i2, i3, i4, i5, i6, i7, i8) {
this.i = [];
for (var i=1,j=0 ;i<9;i++) {
var k = eval("i"+i);
if (k > 0) {
this.i[j++] = k;
}
}
}
Профайлер FireBug утверждает, что второй самой длинной функцией является eval(), занимая почти 6% времени выполнения.
Все говорят, что eval - это EVIL (как в плохом) и медленный (как я нашел), но я не могу ничего сделать - сервер просто тянет данные из базы данных и подталкиваются к браузеру.
Какие альтернативы у меня есть? Я мог бы сделать то же самое, что и здесь, на сервере, но это просто сдвигает нагрузку выше цепи. Я не могу изменить компоновку базы данных, так как все перехватывает эти 8 переменных и является огромным делом.