Сообщение от cyber
|
да ну нафиг, это уже явное читерство
как твоя реализация, обрабатывает масси быстрее обычного цикла?О_О
Да ну быть такого не может, ладно сделаю нормальные тесты когда будет время...
|
Моя реализация это и есть цикл: т.е. генерится строка с циклом и подключается как script.
Вот пример такого цикла:
Collection._tmpCycle["1,false,false,true,el > 1,,,,,false,false,false,true,false,true,false,false,false,false"] = function anonymous(data, length, fLength, callback, aFilter, filter, id) {
var i = -1,
j = 0,
el, key, aProto = [];
var cloneObj, aLength, dLength = data.length - 1;
cloneObj = data;
aLength = cloneObj.length;
for (i = -1; ++i < aLength;) {
key = i;
el = cloneObj[i];
if (el > 1) {
callback(el);
}
}
};
Можно заметить, что в callback передаётся всего один параметр, не передаётся this и не проверяется return false, т.к. в исходном callback этого ничего и нет, а фильтр вообще был проинлайнен (el > 1), отсюда и профит. Сам цикл также написан в читерной форме:
for (i = -1; ++i < aLength;) {